sem_get
(PHP 4, PHP 5, PHP 7, PHP 8)
sem_get — Get a semaphore id
Description
sem_get() returns an id that can be used to
access the System V semaphore with the given key.
A second call to sem_get() for the same key
will return a different semaphore identifier, but both
identifiers access the same underlying semaphore.
If key is 0, a new private semaphore
is created for each call to sem_get().
Parameters
key
-
max_acquire
-
The number of processes that can acquire the semaphore simultaneously
is set to max_acquire.
permissions
-
The semaphore permissions. Actually this value is
set only if the process finds it is the only process currently
attached to the semaphore.
auto_release
-
Specifies if the semaphore should be automatically released on request
shutdown.
Return Values
Returns a positive semaphore identifier on success, or false on
error.
Notes
Warning
When using sem_get() to access a semaphore created
outside PHP, note that the semaphore must have been created as a set of 3
semaphores (for example, by specifying 3 as the nsems
parameter when calling the C semget() function),
otherwise PHP will be unable to access the semaphore.
Warning
If auto_release is enabled, the acquisitions held by a
SysvSemaphore object are also released as soon as the
object is freed, for example when the variable holding it is unset,
overwritten or goes out of scope, not only on request shutdown. Keep a
reference to the object for as long as the semaphore needs to stay acquired.