markAcquire($key); return true; } } return false; } /** * (@inheritdoc) */ public function release($key) { if (empty(self::$semaphore[$key])) { return false; } else { $success = @sem_release(self::$semaphore[$key]); unset(self::$semaphore[$key]); $this->markRelease($key); return $success; } } /** * (@inheritdoc) */ public function isLocked($key) { return @sem_get(self::$semaphore[$key]) !== false; } }