(PHP 4, PHP 5, PHP 7, PHP 8)
sem_get — Retorna un identificador de semáforo
$key
,$max_acquire
= 1,$permissions
= 0666,$auto_release
= true
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().
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. Actualmente, 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 cerrar.
Retorna un recurso de semáforo en caso de éxito, y false
en caso de error.
Versión | Descripción |
---|---|
8.0.0 | En caso de éxito, esta función retorna una instancia de SysvSemaphore ahora; anteriormente; un resource era retornado. |
8.0.0 |
El tipo de auto_release ha sido modificado de
int a bool.
|
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.