- // The second parameter for "sem_acquire" doesn't exist before 5.6.1
- if (function_exists('sem_get') && version_compare(PHP_VERSION, '5.6.1', '>=')) {
- self::$semaphore[$key] = sem_get(self::semaphoreKey($key));
- if (self::$semaphore[$key]) {
- return sem_acquire(self::$semaphore[$key], ($timeout == 0));
+ self::$semaphore[$key] = sem_get(self::semaphoreKey($key));
+ if (self::$semaphore[$key]) {
+ if (sem_acquire(self::$semaphore[$key], ($timeout == 0))) {
+ $this->markAcquire($key);
+ return true;