Date création : 27-03-2008 20:23:44
 Vous êtes dans : GNU/Linux Astuces / Pages man [Section3 - Sous-fonctions]
PTHREAD_ATFORK
Index
- NOM
- SYNOPSIS
- DESCRIPTION
- VALEUR RENVOYÉE
- ERREURS
- AUTEUR
- VOIR AUSSI
- TRADUCTION
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 fils juste avant la fin de l'appel fork(2).
Un ou plusieurs des trois gestionnaires prepare, parent et child
peut être affecté à 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 fils. Les mutex ne sont pas utilisables
après le fork() et doivent être initialisés avec pthread_mutex_init()
dans le processus fils. 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() retourne 0 en cas de succès et un code d'erreur non nul
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
Cette page de manuel a été traduite par Thierry Vignaud
<tvignaud AT mandriva DOT com> en 2000 et révisée par Alain Portal
<aportal AT univ-montp2 DOT fr> en 2006.
La version présente dans Debian est maintenue par
les membres de la liste <debian-l10n-french AT lists DOT debian DOT org>.
Veuillez signaler toute erreur de traduction par un rapport de bogue sur
le paquet manpages-fr-extra.
|