home | help
PTHREAD_ATFORK(3)	     Library Functions Manual	       PTHREAD_ATFORK(3)

NAME
     pthread_atfork -- register fork handlers

LIBRARY
     POSIX Threads Library (libpthread, -lpthread)

SYNOPSIS
     #include <pthread.h>

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

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:

     prepare  Before  fork(2)  processing  commences  in the parent process.  If
	      more than one prepare handler is registered they will be called in
	      the opposite order they were registered.

     parent   After fork(2) completes in the parent process.  If more  than  one
	      parent handler is registered they will be called in the same order
	      they were registered.

     child    After  fork(2) processing completes in the child process.  If more
	      than one 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:

     [ENOMEM]		Insufficient  table space exists to record the fork han-
			dler addresses.

SEE ALSO
     fork(2), pthread(3)

STANDARDS
     The pthread_atfork() function is expected to conform  to  IEEE  Std  1003.1
     ("POSIX.1").

AUTHORS
     This manpage was written by Alex Vasylenko <lxv@omut.org>.

FreeBSD 6.0			  June 21, 2004 	       PTHREAD_ATFORK(3)

home | help