protected function unlock() { if (!sem_release($this->semaphore)) { throw new LockReleaseException("Failed to release the Semaphore."); } }