sem_getvalue - Obtenir la valeur d'un sémaphore
Bibliothèque de threads POSIX (
libpthread,
-lpthread)
#include <semaphore.h>
int sem_getvalue(sem_t *restrict sem, int *restrict sval);
sem_getvalue() place la valeur actuelle du sémaphore pointé
par
sem dans l'entier pointé par
sval.
Si un ou plusieurs processus ou threads sont bloqués en attente de
verrouiller le sémaphore avec
sem_wait(3), POSIX.1 permet deux
valeurs de retour possibles pour
sval : soit
0 est
renvoyé, soit un nombre négatif dont la valeur absolue est le
nombre de processus et de threads actuellement bloqués dans
sem_wait(3). Linux adopte le premier comportement.
sem_getvalue() renvoie
0 s'il réussit. S'il échoue,
il renvoie
-1 et écrit
errno en conséquence.
- EINVAL
-
sem n'est pas un sémaphore valable
(l'implémentation actuelle de la glibc ne vérifie pas si
sem est valable).
Pour une explication des termes utilisés dans cette section, consulter
attributes(7).
Interface |
Attribut |
Valeur |
sem_getvalue() |
Sécurité des threads |
MT-Safe |
POSIX.1-2001, POSIX.1-2008.
La valeur du sémaphore peut déjà avoir été
modifiée lorsque
sem_getvalue() renvoie sa valeur.
sem_post(3),
sem_wait(3),
sem_overview(7)
La traduction française de cette page de manuel a été
créée par Christophe Blaess
<
https://www.blaess.fr/christophe/>, Stéphan Rafin
<
[email protected]>, Thierry Vignaud
<
[email protected]>, François Micaux, Alain Portal
<
[email protected]>, Jean-Philippe Guérard
<
[email protected]>, Jean-Luc Coulon (f5ibh)
<
[email protected]>, Julien Cristau
<
[email protected]>, Thomas Huriaux <
[email protected]>,
Nicolas François <
[email protected]>, Florentin
Duneau <
[email protected]>, Simon Paillard
<
[email protected]>, Denis Barbier
<
[email protected]>, David Prévot <
[email protected]> et
Thomas Vincent <
[email protected]>
Cette traduction est une documentation libre ; veuillez vous reporter
à la
GNU
General Public License version 3 concernant les conditions de copie
et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
[email protected]