NAME

POSIX::AtFork - Hook registrations at fork(2)

SYNOPSIS

# POSIX interface:
use POSIX::AtFork qw(:all);

pthread_atfork(\&prepare, \&parent, \&child);

# or per-hook interfaces:
POSIX::AtFork->add_to_prepare(\&prepare);
POSIX::AtFork->add_to_parent(\&parent);
POSIX::AtFork->add_to_child(\&child);

# registered callbacks can be removed
POSIX::AtFork->delete_from_prepare(\&prepare);
POSIX::AtFork->delete_from_parent( \&parent);
POSIX::AtFork->delete_from_child(  \&child);

DESCRIPTION

This module is an interface to pthread_atfork(3), which registeres handlers called before and after fork(2).

INTERFACE

pthread_atfork(\&prepare, \&parent, \&child)

Registeres hooks called before fork() (&prepare) and after (&parent for the parent, &child for the child).

All callbacks are called with the current opname, namely fork, system, backtick, and etc.

This exportable function is an interface to pthread_atfork(3).

POSIX::AtFork->add_to_prepare(\&hook)

The same as pthread_atfork(\&hook, undef, undef).

POSIX::AtFork->add_to_parent(\&hook)

The same as pthread_atfork(undef, \&hook, undef).

POSIX::Atfork->add_to_child(\&hook)

The same as pthread_atfork(undef, undef, \&hook).

POSIX::AtFork->delete_from_prepare(\&hook)

Deletes &hook from the prepare hook list.

POSIX::AtFork->delete_from_parent(\&hook)

Deletes &hook from the parent hook list.

POSIX::AtFork->delete_from_child(\&hook)

Deletes &hook from the child hook list.

SEE ALSO

pthread_atfork(3)

fork(2)

AUTHORS

Fuji, Goro (gfx)

Shulyakovskiy, Nikolay (nikolas)

COPYRIGHT AND LICENSE

Copyright (C) 2010 by Fuji, Goro gfx <gfuji@cpan.org>.

Copyright (C) 2020 by Shulyakovskiy, Nikolay nikolas <nikolas@cpan.org>.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself,