Provided by: manpages-fr-dev_4.21.0-2_all bug

NOM

       sem_init - Initialiser un sémaphore non nommé

BIBLIOTHÈQUE

       Bibliothèque de threads POSIX (libpthread, -lpthread)

SYNOPSIS

       #include <semaphore.h>

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

DESCRIPTION

       sem_init() initialise le sémaphore non nommé situé à l'adresse pointée par sem. L'argument
       valeur 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  enfant  créé  avec  fork(2) hérite de la projection mémoire du parent, 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 valeur est plus grand que SEM_VALUE_MAX.

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

ATTRIBUTS

       Pour une explication des termes utilisés dans cette section, consulter attributes(7).

       ┌────────────────────────────────────────────────────────┬──────────────────────┬─────────┐
       │InterfaceAttributValeur  │
       ├────────────────────────────────────────────────────────┼──────────────────────┼─────────┤
       │sem_init()                                              │ Sécurité des threads │ MT-Safe │
       └────────────────────────────────────────────────────────┴──────────────────────┴─────────┘

STANDARDS

       POSIX.1-2001.

NOTES

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

EXEMPLES

       Consultez shm_open(3) et sem_wait(3).

VOIR AUSSI

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

TRADUCTION

       La traduction française de cette  page  de  manuel  a  été  créée  par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,  Stéphan  Rafin  <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain  Portal  <aportal@univ-montp2.fr>,
       Jean-Philippe    Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-
       luc.coulon@wanadoo.fr>,   Julien    Cristau    <jcristau@debian.org>,    Thomas    Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,  Denis
       Barbier   <barbier@debian.org>,   David   Prévot  <david@tilapin.org>  et  Thomas  Vincent
       <tvincent@debian.org>

       Cette traduction est une documentation libre ; veuillez vous reporter  à  la  GNU  General
       Public   License   version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  concernant  les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à ⟨debian-l10n-french@lists.debian.org⟩.