sem_open(3) Library Functions Manual sem_open(3) NOM sem_open - Initialiser et ouvrir un semaphore nomme BIBLIOTHEQUE Bibliotheque de threads POSIX (libpthread, -lpthread) SYNOPSIS #include /* Pour les constantes O_* */ #include /* Pour les constantes des modes */ #include sem_t *sem_open(const char *nom, int oflag); sem_t *sem_open(const char *nom, int oflag, mode_t mode, unsigned int valeur); DESCRIPTION sem_open() cree un nouveau semaphore POSIX ou en ouvre un existant. Le semaphore est identifie par nom. Pour les details de la construction de nom, 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 ). 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 nom 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 ). Ces permissions sont << masquees >> avec l'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 valeur specifie la valeur initiale du nouveau semaphore. Si O_CREAT est specifie et que le semaphore nom existe deja, mode et valeur sont ignores. VALEUR RENVOYEE 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 nom existe deja. EINVAL valeur etait plus grand que SEM_VALUE_MAX. EINVAL nom consiste en une barre oblique << / >>, suivie d'aucun autre caractere. EMFILE La limite du nombre de descripteurs de fichiers par processus a ete atteinte. ENAMETOOLONG nom est trop long. ENFILE La limite du nombre total de fichiers ouverts pour le systeme entier a ete atteinte. ENOENT L'attribut O_CREAT n'etait pas specifie dans oflag et aucun semaphore nom n'existe ; ou O_CREAT etait specifie, mais nom n'etait pas correctement forme. ENOMEM Memoire insuffisante. ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +---------------------------------+--------------------------+---------+ |Interface | Attribut | Valeur | +---------------------------------+--------------------------+---------+ |sem_open() | Securite des threads | MT-Safe | +---------------------------------+--------------------------+---------+ STANDARDS POSIX.1-2008. HISTORIQUE POSIX.1-2001. VOIR AUSSI sem_close(3), sem_getvalue(3), sem_post(3), sem_unlink(3), sem_wait(3), sem_overview(7) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot et Thomas Vincent Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 sem_open(3)