[PATCH 3/3] Refactor atfork handlers

Florian Weimer fweimer@redhat.com
Tue Feb 20 13:59:00 GMT 2018


On 02/20/2018 02:48 PM, Adhemerval Zanella wrote:

> The atfork_run_prepare will instruct __run_fork_handlers to take the internal
> atfork_lock handler:
> 
>    void
>    __run_fork_handlers (enum __run_fork_handler_type who)
>    {
>      struct fork_handler *runp;
> 
>      if (who == atfork_run_prepare)
>        {
>          lll_lock (atfork_lock, LLL_PRIVATE);
> 
> And it will prevent to add new registration until either the parent or the child
> call __run_fork_handlers with either 'atfork_run_child' or 'atfork_run_parent'
> to release the lock.

Oh, sorry, I missed that.  So the patch does not have this problem. 
This does not settle the deadlock issue, though.

Thanks,
Florian



More information about the Libc-alpha mailing list