From 329ab7d1533e2ae6f81249de036866fca6a2b964 Mon Sep 17 00:00:00 2001 From: Alexandre Alapetite Date: Wed, 28 Jun 2017 22:38:22 +0200 Subject: [PATCH] More general check for semaphore --- src/Util/Lock.php | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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();