sem_get
(PHP 4, PHP 5, PHP 7, PHP 8)
sem_get — Retorna un identificador de semáforo
Descripción
sem_get() retorna un identificador que podrá
ser utilizado para acceder a un semáforo System V.
Una segunda llamada a sem_get()
con la misma clave retornará un identificador
diferente, pero ambos identificadores permitirán
acceder al mismo semáforo.
Si key es 0, un nuevo semáforo
privado se crea para cada llamada a sem_get().
Parámetros
key
-
max_acquire
-
El número de procesos que pueden reservar simultáneamente el semáforo
se especifica en el argumento max_acquire.
permissions
-
Los permisos del semáforo.
En realidad, este valor solo se aplica
si el proceso es el único proceso actualmente
adjunto al semáforo.
auto_release
-
El argumento opcional auto_release especifica
si el semáforo debe ser liberado automáticamente al finalizar la petición.
Valores devueltos
Retorna un identificador de semáforo positivo en caso de éxito, y false en caso de error.
Notas
Advertencia
Al utilizar la función sem_get() para acceder a
un semáforo creado fuera de PHP, tenga en cuenta que el semáforo debe haber
sido creado como un conjunto de 3 semáforos (por ejemplo, especificando 3 como
argumento nsems durante la llamada a la función C
semget()), de lo contrario, PHP no será capaz de acceder a este
semáforo.
Advertencia
Si auto_release está habilitado, las reservas
mantenidas por un objeto SysvSemaphore también se
liberan en cuanto el objeto es liberado, por ejemplo cuando la variable que
lo contiene es destruida con unset, sobrescrita o sale de ámbito, y no solo
al finalizar la petición. Conserve una referencia al objeto durante todo el
tiempo que el semáforo deba permanecer reservado.