Provided by: manpages-fr-dev_3.32d0.2p4-1_all bug

NOM

       sem_init - Initialiser un sémaphore non nommé

SYNOPSIS

       #include <semaphore.h>

       int sem_init(sem_t *sem, int pshared, unsigned int value);

       Effectuez l'édition des liens avec l'option -lrt ou -pthread.

DESCRIPTION

       sem_init() initialise le sémaphore non nommé situé à l'adresse pointée par sem. L'argument
       value spécifie la valeur initiale du sémaphore.

       L'argument pshared indique si ce sémaphore sera partagé entre les threads  d'un  processus
       ou entre processus.

       Si  pshared  vaut  0, le sémaphore est partagé entre les threads d'un processus et devrait
       être situé à une adresse visible par tous les threads (par exemple, une  variable  globale
       ou une variable allouée dynamiquement dans le tas).

       Si  pshared  n'est pas nul, le sémaphore est partagé entre processus et devrait être situé
       dans une  région  de  mémoire  partagée  (consultez  shm_open(3),  mmap(2)  et  shmget(2))
       (puisqu'un fils créé avec fork(2) hérite de la projection mémoire du père, il peut accéder
       au sémaphore). Tout processus qui peut accéder à la région de mémoire partagée peut opérer
       sur le sémaphore avec sem_post(3), sem_wait(3), etc.

       L'initialisation  d'un  sémaphore  qui  a  déjà  été initialisé résulte en un comportement
       indéfini.

VALEUR RENVOYÉE

       sem_init() renvoie 0  s'il  réussit.  S'il  échoue,  il  renvoie  -1  et  écrit  errno  en
       conséquence.

ERREURS

       EINVAL value est plus grand que SEM_VALUE_MAX.

       ENOSYS pshared  n'est  pas  nul,  mais  le système ne supporte pas les sémaphores partagés
              entre processus (consultez sem_overview(7)).

CONFORMITÉ

       POSIX.1-2001.

NOTES

       Bizarrement, POSIX.1-2001 ne spécifie pas la valeur que devrait retourner un appel  réussi
       à  sem_init().  POSIX.1-2008 corrige ceci et spécifie une valeur de retour nulle en cas de
       succès.

VOIR AUSSI

       sem_destroy(3), sem_post(3), sem_wait(3), sem_overview(7)

COLOPHON

       Cette page fait partie de la publication 3.32 du projet man-pages Linux.  Une  description
       du  projet  et  des  instructions  pour  signaler  des  anomalies  peuvent être trouvées à
       l'adresse <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis   2010,   cette   traduction   est   maintenue   à   l'aide   de    l'outil    po4a
       <URL:http://po4a.alioth.debian.org/>  par  l'équipe  de  traduction francophone au sein du
       projet perkamon <URL:http://perkamon.alioth.debian.org/>.

       Alain  Portal  <URL:http://manpagesfr.free.fr/> (2006).  Nicolas  François   et   l'équipe
       francophone de traduction de Debian (2006-2009).

       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> ».