Retorna un identificador de semáforo

# sem_get

(PHP 4, PHP 5, PHP 7, PHP 8)

sem_get — Retorna un identificador de semáforo

### Descripción

function sem_get(
int `$key`,
int `$max_acquire` = 1,
int `$permissions` = 0666,
bool `$auto_release` = `true`
): SysvSemaphore|false

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. 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.

### Valores devueltos

Retorna un recurso de semáforo en caso de éxito, y `false` en caso de error.

### Historial de cambios

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.

### 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.

### Ver también

- sem_acquire() - Reserva un semáforo
- sem_release() - Libera un semáforo
- ftok() - Convierte una ruta y un identificador de proyecto en una clave System V IPC

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open