Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

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)