sem_get

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

sem_getRetourne un identifiant de sémaphore

Description

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

sem_get() retourne un identifiant qui pourra être utilisé pour accéder à un sémaphore System V.

Un deuxième appel à sem_get() avec la même clé retournera un identifiant différent, mais les deux identifiants permettront d'accéder au même sémaphore.

Si key est 0, un nouvel sémaphore privé est crée pour chaque appel à sem_get().

Liste de paramètres

key

max_acquire

Le nombre de processus qui peuvent réserver simultanément le sémaphore est précisé dans le paramètre max_acquire.

permissions

Les permissions du sémaphore. Actuellement, cette valeur n'est affectée que si le processus est le seul processus actuellement attaché au sémaphore.

auto_release

Le paramètre optionnel auto_release spécifie si le sémaphore doit être automatiquement libéré à la fermeture.

Valeurs de retour

Retourne une ressource de sémaphore en cas de succès, et false en cas d'erreur.

Historique

VersionDescription
8.0.0 En cas de succès, cette fonction retourne une instance de SysvSemaphore désormais; auparavant; une resource était retourné.
8.0.0 Le type de auto_release a été modifié de int à bool.

Notes

Avertissement

Lorsque vous utilisez la fonction sem_get() pour accéder à un sémaphore créé en dehors de PHP, veuillez noter que le sémaphore doit avoir été créé comme un jeu de 3 sémaphores (par exemple, en spécifiant 3 comme paramètre nsems lors de l'appel à la fonction C semget()), sinon, PHP ne sera pas capable d'accéder à ce sémaphore.

Voir aussi

To Top