#include <pthread.h> int
Fo pthread_atfork
Fa void lp]*preparerp]lp]voidrp]
Fa void lp]*parentrp]lp]voidrp]
Fa void lp]*childrp]lp]voidrp]
Fc
DESCRIPTION
The
pthread_atfork ();
function declares fork handlers to be called before and after
fork(2),
in the context of the thread that called
fork(2).
The handlers registered with
pthread_atfork ();
are called at the moments in time described below:
Fa prepare
Before
fork(2)
processing commences in the parent process.
If more than one
Fa prepare
handler is registered they will be called in the opposite order
they were registered.
Fa parent
After
fork(2)
completes in the parent process.
If more than one
Fa parent
handler is registered they will be called in the same order
they were registered.
Fa child
After
fork(2)
processing completes in the child process.
If more than one
Fa child
handler is registered they will be called in the same order
they were registered.
If no handling is desired at one or more of these three points,
a null pointer may be passed as the corresponding fork handler.
RETURN VALUES
If successful, the
pthread_atfork ();
function will return zero.
Otherwise an error number will be returned to indicate the error.
ERRORS
The
pthread_atfork ();
function will fail if:
Bq Er ENOMEM
Insufficient table space exists to record the fork handler addresses.