* The number of processes that can acquire the semaphore simultaneously * is set to max_acquire. *

* @param int $permissions [optional]

* The semaphore permissions. Actually this value is * set only if the process finds it is the only process currently * attached to the semaphore. *

* @param bool $auto_release [optional]

* Specifies if the semaphore should be automatically released on request * shutdown. *

* @return resource|false|SysvSemaphore a positive semaphore identifier on success, or FALSE on * error. */ #[LanguageLevelTypeAware(["8.0" => "SysvSemaphore|false"], default: "resource|false")] function sem_get(int $key, int $max_acquire = 1, int $permissions = 0666, bool $auto_release = true) {} /** * Acquire a semaphore * @link https://php.net/manual/en/function.sem-acquire.php * @param SysvSemaphore|resource $semaphore

* sem_identifier is a semaphore resource, * obtained from sem_get. *

* @param bool $non_blocking [optional]

* Specifies if the process shouldn't wait for the semaphore to be acquired. * If set to true, the call will return false immediately if a * semaphore cannot be immediately acquired. *

* @return bool TRUE on success or FALSE on failure. */ function sem_acquire(#[LanguageLevelTypeAware(["8.0" => "SysvSemaphore"], default: "resource")] $semaphore, bool $non_blocking = false): bool {} /** * Release a semaphore * @link https://php.net/manual/en/function.sem-release.php * @param SysvSemaphore|resource $semaphore

* A Semaphore resource handle as returned by * sem_get. *

* @return bool TRUE on success or FALSE on failure. */ function sem_release(#[LanguageLevelTypeAware(["8.0" => "SysvSemaphore"], default: "resource")] $semaphore): bool {} /** * Remove a semaphore * @link https://php.net/manual/en/function.sem-remove.php * @param SysvSemaphore|resource $semaphore

* A semaphore resource identifier as returned * by sem_get. *

* @return bool TRUE on success or FALSE on failure. */ function sem_remove(#[LanguageLevelTypeAware(["8.0" => "SysvSemaphore"], default: "resource")] $semaphore): bool {} /** * @since 8.0 */ final class SysvSemaphore { /** * Cannot directly construct SysvSemaphore, use sem_get() instead * @see sem_get() */ private function __construct() {} } // End of sysvsem v.