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

NOM

       pthread_atfork — Enregistrer des gestionnaires à invoquer lors de l'appel à fork(2)

SYNOPSIS

       #include <pthread.h>

       int pthread_atfork(void (*prepare)(void), void (*parent)(void), void (*child)(void));

DESCRIPTION

       pthread_atfork() enregistre les fonctions à appeler juste avant et juste après la création
       d'un nouveau processus par fork(2). Le gestionnaire prepare est appelé  par  le  processus
       parent juste avant la création du nouveau processus. Le gestionnaire parent est appelé par
       le processus parent juste avant que fork(2) finisse. Le gestionnaire child est appelé  par
       le processus enfant juste avant la fin de l'appel fork(2).

       Un  ou  plusieurs  des  trois gestionnaires prepare, parent et child peuvent être affectés
       comme NULL, ce qui signifie qu'aucun gestionnaire ne sera appelé au moment correspondant.

       pthread_atfork peut être appelée plusieurs fois pour enregistrer  plusieurs  ensembles  de
       gestionnaires.  Lors  de  l'appel  à  fork(2), les gestionnaires prepare sont appelés dans
       l'ordre LIFO (dernier ajouté avec pthread_atfork, premier appelé avant  fork),  alors  que
       les  gestionnaires parent et child sont appelés dans l'ordre FIFO (premier ajouté, premier
       appelé).

       Pour comprendre l'objectif de pthread_atfork(), rappelons que fork(2) copie toute  l'image
       mémoire  du  processus,  y  compris  ses  mutex  dans  leur  état de blocage courant, mais
       seulement le thread appelant : les autres threads ne s'exécutent  pas  dans  le  processus
       enfant. Les mutex ne sont pas utilisables après le fork() et doivent être initialisés avec
       pthread_mutex_init dans le processus enfant.  C'est  une  limitation  de  l'implémentation
       actuelle et peut être ou non présente dans les prochaines versions.

VALEUR RENVOYÉE

       pthread_atfork()  renvoie  0 en cas de succès et un code d'erreur différent de zéro en cas
       d'erreur.

ERREURS

       ENOMEM Pas assez de mémoire disponible pour enregistrer les gestionnaires.

AUTEUR

       Xavier Leroy <Xavier.Leroy@inria.fr>

VOIR AUSSI

       fork(2), pthread_mutex_lock(3), pthread_mutex_unlock(3).

TRADUCTION

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

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

                                           LinuxThreads                         PTHREAD_ATFORK(3)