X-Git-Url: http://mop.ddnsfree.com/gitweb/?a=blobdiff_plain;f=web%2FObj%2Fhardban.phh;h=c92a7225831e8f99bdba012f7308e219b2c6141c;hb=43cab39ea58529cd2442c28f4157bb7efc97856f;hp=477a410f5f0a3805c4541a356c1895310f01cd1b;hpb=6a7088b090b78123ccfaa3ba00e1ea81647b173c;p=brisk.git diff --git a/web/Obj/hardban.phh b/web/Obj/hardban.phh index 477a410..c92a722 100644 --- a/web/Obj/hardban.phh +++ b/web/Obj/hardban.phh @@ -22,11 +22,11 @@ * */ -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; @@ -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."
"; - 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); }