.\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH PTHREAD_ATFORK 3 LinuxThreads .SH NOM pthread_atfork \- Enregistrer des gestionnaires à invoquer lors de l'appel à fork(2) .SH SYNOPSIS \fB#include \fP \fBint pthread_atfork(void (*\fP\fIprepare\fP\fB)(void), void (*\fP\fIparent\fP\fB)(void), void (*\fP\fIchild\fP\fB)(void));\fP .SH DESCRIPTION \fBpthread_atfork\fP() enregistre les fonctions à appeler juste avant et juste après la création d'un nouveau processus par \fBfork\fP(2). Le gestionnaire \fIprepare\fP est appelé par le processus parent juste avant la création du nouveau processus. Le gestionnaire \fIparent\fP est appelé par le processus parent juste avant que \fBfork\fP(2) finisse. Le gestionnaire \fIchild\fP est appelé par le processus fils juste avant la fin de l'appel \fBfork\fP(2). Un ou plusieurs des trois gestionnaires \fIprepare\fP, \fIparent\fP et \fIchild\fP peut être affecté à NULL, ce qui signifie qu'aucun gestionnaire ne sera appelé au moment correspondant. \fBpthread_atfork\fP peut être appelée plusieurs fois pour enregistrer plusieurs ensembles de gestionnaires. Lors de l'appel à \fBfork\fP(2), les gestionnaires \fIprepare\fP sont appelés dans l'ordre LIFO (dernier ajouté avec \fBpthread_atfork\fP, premier appelé avant \fBfork\fP), alors que les gestionnaires \fIparent\fP et \fIchild\fP sont appelés dans l'ordre FIFO (premier ajouté, premier appelé). Pour comprendre l'objectif de \fBpthread_atfork\fP(), rappelons que \fBfork\fP(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 fils. Les mutex ne sont pas utilisables après le \fBfork\fP() et doivent être initialisés avec \fIpthread_mutex_init\fP() dans le processus fils. C'est une limitation de l'implémentation actuelle et peut être ou non présente dans les prochaines versions. .SH "VALEUR RENVOYÉE" \fBpthread_atfork\fP() retourne 0 en cas de succès et un code d'erreur non nul en cas d'erreur. .SH ERREURS .TP \fBENOMEM\fP Pas assez de mémoire disponible pour enregistrer les gestionnaires. .SH AUTEUR Xavier Leroy .SH "VOIR AUSSI" \fBfork\fP(2), \fBpthread_mutex_lock\fP(3), \fBpthread_mutex_unlock\fP(3). .SH TRADUCTION Cette page de manuel a été traduite par Thierry Vignaud en 2000 et révisée par Alain Portal en 2006. La version présente dans Debian est maintenue par les membres de la liste . Veuillez signaler toute erreur de traduction par un rapport de bogue sur le paquet manpages\-fr\-extra.