.\" -*- mode: troff; coding: utf-8 -*- .\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. .ie n \{\ . ds C` "" . ds C' "" 'br\} .el\{\ . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" ======================================================================== .\" .IX Title "POSIX::AtFork 3pm" .TH POSIX::AtFork 3pm 2024-03-07 "perl v5.38.2" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH NAME POSIX::AtFork \- Hook registrations at fork(2) .SH SYNOPSIS .IX Header "SYNOPSIS" .Vb 2 \& # POSIX interface: \& use POSIX::AtFork qw(:all); \& \& pthread_atfork(\e&prepare, \e&parent, \e&child); \& \& # or per\-hook interfaces: \& POSIX::AtFork\->add_to_prepare(\e&prepare); \& POSIX::AtFork\->add_to_parent(\e&parent); \& POSIX::AtFork\->add_to_child(\e&child); \& \& # registered callbacks can be removed \& POSIX::AtFork\->delete_from_prepare(\e&prepare); \& POSIX::AtFork\->delete_from_parent( \e&parent); \& POSIX::AtFork\->delete_from_child( \e&child); .Ve .SH DESCRIPTION .IX Header "DESCRIPTION" This module is an interface to \f(CWpthread_atfork(3)\fR, which registeres handlers called before and after \f(CWfork(2)\fR. .SH INTERFACE .IX Header "INTERFACE" .SS "pthread_atfork(\e&prepare, \e&parent, \e&child)" .IX Subsection "pthread_atfork(&prepare, &parent, &child)" Registeres hooks called before \f(CWfork()\fR (\fI&prepare\fR) and after (\fI&parent\fR for the parent, \fI&child\fR for the child). .PP All callbacks are called with the current opname, namely \f(CW\*(C`fork\*(C'\fR, \&\f(CW\*(C`system\*(C'\fR, \f(CW\*(C`backtick\*(C'\fR, and etc. .PP This exportable function is an interface to \f(CWpthread_atfork(3)\fR. .SS POSIX::AtFork\->add_to_prepare(\e&hook) .IX Subsection "POSIX::AtFork->add_to_prepare(&hook)" The same as \f(CW\*(C`pthread_atfork(\e&hook, undef, undef)\*(C'\fR. .SS POSIX::AtFork\->add_to_parent(\e&hook) .IX Subsection "POSIX::AtFork->add_to_parent(&hook)" The same as \f(CW\*(C`pthread_atfork(undef, \e&hook, undef)\*(C'\fR. .SS POSIX::Atfork\->add_to_child(\e&hook) .IX Subsection "POSIX::Atfork->add_to_child(&hook)" The same as \f(CW\*(C`pthread_atfork(undef, undef, \e&hook)\*(C'\fR. .SS POSIX::AtFork\->delete_from_prepare(\e&hook) .IX Subsection "POSIX::AtFork->delete_from_prepare(&hook)" Deletes \fI&hook\fR from the \f(CW\*(C`prepare\*(C'\fR hook list. .SS POSIX::AtFork\->delete_from_parent(\e&hook) .IX Subsection "POSIX::AtFork->delete_from_parent(&hook)" Deletes \fI&hook\fR from the \f(CW\*(C`parent\*(C'\fR hook list. .SS POSIX::AtFork\->delete_from_child(\e&hook) .IX Subsection "POSIX::AtFork->delete_from_child(&hook)" Deletes \fI&hook\fR from the \f(CW\*(C`child\*(C'\fR hook list. .SH "SEE ALSO" .IX Header "SEE ALSO" \&\fBpthread_atfork\fR\|(3) .PP \&\fBfork\fR\|(2) .SH AUTHORS .IX Header "AUTHORS" Fuji, Goro (gfx) .PP Shulyakovskiy, Nikolay (nikolas) .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" Copyright (C) 2010 by Fuji, Goro gfx . .PP Copyright (C) 2020 by Shulyakovskiy, Nikolay nikolas . .PP This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself,