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.