Provided by: manpages-fr-dev_2.64.1-1_all bug

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,   et   mise   à   disposition  sur
       http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement         gérées         par         Nicolas         François
       <nicolas.francois@centraliens.net>   et   l’équipe    francophone    de
       traduction de Debian.

       Veuillez   signaler   toute   erreur   de   traduction  en  écrivant  à
       <debian-l10n-french@lists.debian.org> ou 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> ».