Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
PTHREAD_ATFORK(3)	 BSD 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 or-
	      der 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
			handler	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>.

BSD				 June 21, 2004				   BSD

NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUES | ERRORS | SEE ALSO | STANDARDS | AUTHORS

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pthread_atfork&sektion=3&manpath=FreeBSD+6.0-RELEASE>

home | help