#include <fcntl.h> /* Pour les constantes O_* */ #include <sys/stat.h> /* Pour les constantes « mode » */ #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);
Utilisez -lrt ou -pthread à l'édition de liens.
L'argument oflag spécifie les attributs qui contrôlent la manière d'opérer de l'appel. (Les définitions des valeurs d'attributs peuvent être obtenues en incluant <fcntl.h>.) 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). (Les définitions des bits de permissions peuvent être obtenues en incluant <sys/stat.h>.) 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.
Ce document est une traduction réalisée par Alain Portal <aportal AT univ-montp2 DOT fr> le 29 juillet 2006 et révisée le 17 juillet 2008.
L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 3 sem_open ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.
Dernière mise à jour : 17 juillet 2008