reduced log
[brisk.git] / web / Obj / hardban.phh
index 477a410..c59deb3 100644 (file)
@@ -2,7 +2,7 @@
 /*
  *  brisk - auth.phh
  *
- *  Copyright (C) 2006-2011 Matteo Nastasi
+ *  Copyright (C) 2006-2012 Matteo Nastasi
  *                          mailto: nastasi@alternativeoutput.it 
  *                                  matteo.nastasi@milug.org
  *                          web: http://www.alternativeoutput.it
  *
  */
 
-define(HBAN_SHM_DIMS_MIN, 16384);
-define(HBAN_SHM_DIMS_MAX, 65536);
-define(HBAN_SHM_DIMS_DLT, 16384);
-define(HBAN_VALID_TIME,      15);
-define(HBAN_GARBAGE_TIMEOUT,  5);
+define('HBAN_SHM_DIMS_MIN', 16384);
+define('HBAN_SHM_DIMS_MAX', 65536);
+define('HBAN_SHM_DIMS_DLT', 16384);
+define('HBAN_VALID_TIME',      15);
+define('HBAN_GARBAGE_TIMEOUT',  5);
 
 class Hardban {
   var $login;
@@ -159,11 +159,11 @@ class Hardbans {
     GLOBAL $sess;
 
     do {
-      if (($tok = @ftok(FTOK_PATH."/hardbans", "B")) == -1) {
+      if (($tok = @ftok(FTOK_PATH."/hardbans", "C")) == -1) {
        log_main("ftok failed");
        break;
       }
-    
+      // fprintf(STDERR, "hardpans: %x\n", $tok);
       if (($shm_sz = sharedmem_sz($tok)) == -1) {
        log_main("shmop_open failed");
       }
@@ -206,7 +206,7 @@ class Hardbans {
     $shm =   FALSE;
     $oldmod = $hban->mod;
 
-    if (($tok = @ftok(FTOK_PATH."/hardbans", "B")) == -1) 
+    if (($tok = @ftok(FTOK_PATH."/hardbans", "C")) == -1) 
       return (FALSE);
     
     while ($hban->shm_sz < HBAN_SHM_DIMS_MAX) {
@@ -240,19 +240,13 @@ class Hardbans {
 
   static function lock_data($is_exclusive)
   {
-    if (($tok = @ftok(FTOK_PATH."/hardbans", "B")) == -1) {
-      return (FALSE);
-    }
-    // echo "FTOK ".$tok."<br>";
-    if (($res = sem_get($tok, ($is_exclusive ? 1 : LOCK_SHARE_MAX) )) == FALSE) {
-      return (FALSE);
-    }
-    if (sem_acquire($res)) {   
-        self::$delta_t = microtime(TRUE);
-        log_lock("LOCK   hardbans     [".self::$delta_t."]");
-      return ($res);
-    }
-    else
+      if (($res = file_lock(FTOK_PATH."/hardbans", $is_exclusive)) != FALSE) {
+          self::$delta_t = microtime(TRUE);
+          log_lock("LOCK   hardbans     [".self::$delta_t."]");
+          
+          return ($res);
+      }
+
       return (FALSE);
   }
   
@@ -262,7 +256,7 @@ class Hardbans {
     
     log_lock("UNLOCK hardbans     [".(microtime(TRUE) - (self::$delta_t))."]");
 
-    return (sem_release($res));
+    file_unlock($res);
   }
 
 
@@ -289,7 +283,7 @@ class Hardbans {
           }
         } // for (...
         if ($hban->ismod()) {
-          Hardbans::save_data(&$hban);
+          Hardbans::save_data($hban);
         }
       } // if (load_data
       Hardbans::unlock_data($a_sem);
@@ -311,7 +305,7 @@ class Hardbans {
         $hban->add_item($login, $ip, $session, $timeout);
 
         if ($hban->ismod()) {
-          Hardbans::save_data(&$hban);
+          Hardbans::save_data($hban);
         }
       } // if (load_data
       Hardbans::unlock_data($a_sem);
@@ -322,4 +316,4 @@ class Hardbans {
 
 } // End CLASS Hardbans
 
-?>
\ No newline at end of file
+?>