used flock instead sem_* functions to be able to have exclusive and shared lock
[brisk.git] / web / Obj / hardban.phh
index 477a410..1dd4b4e 100644 (file)
@@ -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);
   }