Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
sem_open - Initialiser et ouvrir un semaphore nomme
SYNOPSIS
#include <fcntl.h> /* Pour les constantes O_* */
#include <sys/stat.h> /* Pour les constantes des modes */
#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);
Effectuez l'edition des liens avec l'option -lrt ou -pthread.
DESCRIPTION
sem_open() cree un nouveau semaphore POSIX ou en ouvre un existant. Le
semaphore est identifie par name. Pour les details de la construction
de name, consultez sem_overview(7).
L'argument oflag specifie les attributs qui controlent la maniere
d'operer de l'appel (les definitions des valeurs des attributs peuvent
etre obtenues en incluant <fcntl.h>). Si O_CREAT est specifie dans
oflag, le semaphore est cree s'il n'existe pas deja. Le proprietaire
(UID) du semaphore est l'UID effectif du processus appelant. Le groupe
proprietaire (GID) est le GID effectif du processus appelant. Si
O_CREAT et O_EXCL sont tous les deux specifies dans oflag, une erreur
sera renvoyee si le semaphore du nom de name existe deja.
Si O_CREAT est specifie dans oflag, deux autres arguments doivent etre
fournis. L'argument mode specifie les permissions a placer sur le
nouveau semaphore, comme pour open(2) (les definitions symboliques des
bits de permissions peuvent etre obtenues en incluant <sys/stat.h>).
Ces permissions sont << masquees >> avec le umask du processus. Les
permissions de lecture et d'ecriture devraient etre accordees a chaque
classe d'utilisateurs qui aura acces au semaphore. L'argument value
specifie la valeur initiale du nouveau semaphore. Si O_CREAT est
specifie et que le semaphore du nom de name existe deja, mode et value
sont ignores.
VALEUR RENVOY'EE
S'il reussit, sem_open() renvoie l'adresse du nouveau semaphore ; cette
adresse est utilisee lors de l'appel des autres fonctions sur les
semaphores. S'il echoue, sem_open() renvoie SEM_FAILED et ecrit errno
en consequence.
ERREURS
EACCES Le semaphore existe mais l'appelant n'a pas la permission de
l'ouvrir.
EEXIST O_CREAT et O_EXCL ont ete tous les deux specifies dans oflag,
mais un semaphore avec le nom de name existe deja.
EINVAL value etait plus grand que SEM_VALUE_MAX.
EINVAL name consiste en une barre oblique << / >>, suivie d'aucun autre
caractere.
EMFILE Le processus a deja le nombre maximal de fichiers ouverts.
ENAMETOOLONG
name est trop long.
ENFILE La limite du nombre total de fichiers ouverts sur le systeme a
ete atteinte.
ENOENT L'attribut O_CREAT n'etait pas specifie dans oflag, et aucun
semaphore avec le nom de name n'existe ; ou O_CREAT etait
specifie, mais name n'etait pas correctement forme.
ENOMEM Memoire insuffisante.
CONFORMIT'E
POSIX.1-2001.
VOIR AUSSI
sem_close(3), sem_getvalue(3), sem_post(3), sem_unlink(3), sem_wait(3),
sem_overview(7)
COLOPHON
Cette page fait partie de la publication 3.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Alain Portal <URL:http://manpagesfr.free.fr/> (2006). Nicolas Francois
et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.
Linux 20 fevrier 2009 SEM_OPEN(3)