protected function release_writers_mutex() { if (!empty($this->writers_mutex)) { if (sem_release($this->writers_mutex)) { unset($this->writers_mutex); $this->mutex_acquired = false; return true; } else { return false; } } return true; }