The
pthread_atfork();
function declares fork handlers to be called before and after
fork();,
in the context of the thread that called
fork();.
The
prepare
fork handler will be called before
fork();
processing commences.
The
parent
fork handler will be called after
fork();
processing completes in the parent process.
The
child
fork handler will be called after
fork();
processing completes in the child process.
If no handling is desired at
one or more of these three points,
the corresponding fork handler
address(es) may be set to
NULL.
The order of calls to
pthread_atfork();
is significant.
The
parent
and
child
fork handlers will be called in the order in which they were established
by calls to
pthread_atfork();.
The
prepare
fork handlers will be called in the opposite order.
RETURN VALUES
Upon successful completion,
pthread_atfork();
will return a value of zero.
Otherwise, an error number will be
returned to indicate the error.
ERRORS
pthread_atfork();
will fail if:
[ENOMEM]
Insufficient table space exists to record the fork handler addresses.
None of the handler lists are modified.