Date création : 27-03-2008 20:23:44
 Vous êtes dans : GNU/Linux Astuces / Pages man [Section3 - Sous-fonctions]
SEM_OPEN
Index
- NOM
- SYNOPSIS
- DESCRIPTION
- VALEUR RENVOYÉE
- ERREURS
- CONFORMITÉ
- VOIR AUSSI
- TRADUCTION
NOM
sem_open - Initialiser et ouvrir un sémaphore nommé
SYNOPSIS
#include <semaphore.h>
sem_t *sem_open(const char *name, int oflag);
sem_t *sem_open(const char *name, int oflag,
mode_t mode, unsigned int value);
DESCRIPTION
sem_open() crée un nouveau sémaphore POSIX ou en ouvre un existant. Le
sémaphore est identifié par name. Pour les détails de la construction de
name, voir sem_overview(7).
L'argument oflag spécifie les attributs qui contrôlent la manière
d'opérer de l'appel. Si O_CREAT est spécifié dans oflag, le sémaphore
est créé s'il n'existe pas déjà. Le propriétaire (UID) du sémaphore est
l'UID effectif du processus appelant. Le groupe propriétaire (GID) est le
GID effectif du processus appelant. Si O_CREAT et O_EXCL sont tous les
deux spécifiés dans oflag, une erreur sera renvoyée si le sémaphore du
nom de name existe déjà.
Si O_CREAT est spécifié dans oflag, deux autres arguments doivent être
fournis. L'argument mode spécifie les permissions à placer sur le nouveau
sémaphore, comme pour open(2). Ces permissions sont « masquées » avec
le umask du processus. Les permissions de lecture et d'écriture devraient
être accordées à chaque classe d'utilisateurs qui aura accès au
sémaphore. L'argument value spécifie la valeur initiale du nouveau
sémaphore. Si O_CREAT est spécifié et que le sémaphore du nom de name
existe déjà, mode et value sont ignorés.
VALEUR RENVOYÉE
S'il réussit, sem_open() renvoie l'adresse du nouveau sémaphore ; cette
adresse est utilisée lors de l'appel des autres fonctions sur les
sémaphores. S'il échoue, sem_open() renvoie SEM_FAILED et écrit
errno en conséquence.
ERREURS
- EACCES
-
Le sémaphore existe mais l'appelant n'a pas la permission de l'ouvrir.
- EEXIST
-
O_CREAT et O_EXCL ont été tous les deux spécifiés dans oflag, mais
un sémaphore avec le nom de name existe déjà.
- EINVAL
-
value était plus grand que SEM_VALUE_MAX.
- EMFILE
-
Le processus a déjà le nombre maximum de fichiers ouverts.
- ENAMETOOLONG
-
name était trop long.
- ENFILE
-
La limite système sur le nombre total de fichiers ouverts a été atteinte.
- ENOENT
-
L'attribut O_CREAT n'était pas spécifié dans oflag, et aucun sémaphore
avec le nom de name n'existe.
- ENOMEM
-
Mémoire insuffisante.
CONFORMITÉ
POSIX.1-2001.
VOIR AUSSI
sem_close(3), sem_getvalue(3), sem_post(3), sem_unlink(3),
sem_wait(3), sem_overview(7)
TRADUCTION
Cette page de manuel a été traduite par Alain Portal
<aportal AT univ-montp2 DOT fr> en 2006.
La traduction de cette page de manuel est basée sur les traductions
disponibles sur http://manpagesfr.free.fr/,
mais est gérée par l'équipe francophone de traduction de Debian
au travers de la liste de discussion debian-l10n-french.
Veuillez signaler toute erreur de traduction par un rapport de bogue sur
le paquet manpages-fr.
Vous pouvez toujours avoir accès à la version anglaise de ce document en
utilisant la commande
« man -L C <section> <page_de_man> ».
|