diff --git a/src/Util/Lock.php b/src/Util/Lock.php index 3988294b0f..ca75b0d666 100644 --- a/src/Util/Lock.php +++ b/src/Util/Lock.php @@ -156,8 +156,14 @@ class Lock { * @param string $fn_name Name of the lock */ public static function remove($fn_name) { - if (function_exists('sem_get') && self::$semaphore[$fn_name]) { - return @sem_release(self::$semaphore[$fn_name]); + if (function_exists('sem_get')) { + if (empty(self::$semaphore[$fn_name])) { + return false; + } else { + $rid = self::$semaphore[$fn_name]; + self::$semaphore[$fn_name] = 0; + return @sem_release($rid); + } } $memcache = self::connectMemcache();