sem_get
(PHP 4, PHP 5, PHP 7, PHP 8)
sem_get — Retourne un identifiant de sémaphore
Description
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 nouveau sémaphore
privé est créé 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 fin de la requête.
Valeurs de retour
Retourne un identifiant de sémaphore positif en cas de succès, ou false
en cas d'erreur.
Notes
Avertissement
Lors de l'utilisation de 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.
Avertissement
Si auto_release est activé, les acquisitions détenues
par un objet SysvSemaphore sont également libérées dès
que l'objet est libéré, par exemple lorsque la variable qui le contient est
détruite avec unset, écrasée ou sort de la portée, et pas
seulement à la fin de la requête. Conservez une référence à l'objet aussi
longtemps que le sémaphore doit rester acquis.