logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

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

Authors

       Fuji, Goro (gfx)

       Shulyakovskiy, Nikolay (nikolas)

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.

Name

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

See Also

pthread_atfork(3)

       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);

See Also