Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
sem_init - Initialiser un semaphore non nomme
SYNOPSIS
#include <semaphore.h>
int sem_init(sem_t *sem, int pshared, unsigned int value);
Effectuez l'edition des liens avec l'option -lrt ou -pthread.
DESCRIPTION
sem_init() initialise le semaphore non nomme situe a l'adresse pointee
par sem. L'argument value specifie la valeur initiale du semaphore.
L'argument pshared indique si ce semaphore sera partage entre les
threads d'un processus ou entre processus.
Si pshared vaut 0, le semaphore est partage entre les threads d'un
processus et devrait etre situe a une adresse visible par tous les
threads (par exemple, une variable globale ou une variable allouee
dynamiquement dans le tas).
Si pshared n'est pas nul, le semaphore est partage entre processus et
devrait etre situe dans une region de memoire partagee (consultez
shm_open(3), mmap(2) et shmget(2)) (puisqu'un fils cree avec fork(2)
herite de la projection memoire du pere, il peut acceder au semaphore).
Tout processus qui peut acceder a la region de memoire partagee peut
operer sur le semaphore avec sem_post(3), sem_wait(3), etc.
L'initialisation d'un semaphore qui a deja ete initialise resulte en un
comportement indefini.
VALEUR RENVOY'EE
sem_init() renvoie 0 s'il reussit. S'il echoue, il renvoie -1 et ecrit
errno en consequence.
ERREURS
EINVAL value est plus grand que SEM_VALUE_MAX.
ENOSYS pshared n'est pas nul, mais le systeme ne supporte pas les
semaphores partages entre processus (consultez sem_overview(7)).
CONFORMIT'E
POSIX.1-2001.
NOTES
Bizarrement, POSIX.1-2001 ne specifie pas la valeur que devrait
retourner un appel reussi a sem_init(). POSIX.1-2008 corrige ceci et
specifie une valeur de retour nulle en cas de succes.
VOIR AUSSI
sem_destroy(3), sem_post(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> >>.