tree 9fd15f29356de5d7d0e26f24f48defcd88edcdd7
parent b7b2478733567d2f167199e02072f90930986d33
author Willy Tarreau <w@1wt.eu> 1466519254 +0200
committer Willy Tarreau <w@1wt.eu> 1466525450 +0200
encoding latin1

BUG/MAJOR: external-checks: use asynchronous signal delivery

There are random segfaults occuring when using external checks. The
reason is that when receiving a SIGCHLD, a call to task_wakeup() is
performed. There are two situations where this causes trouble :
  - the scheduler is in process_running_tasks(), since task_wakeup()
    sets rq_next to NULL, when the former dereferences it to get the
    next pointer, the program crashes ;

  - when another task_wakeup() is being called and during eb_next()
    in process_running_tasks(), because the structure of the run queue
    tree changes while it is being processed.

The solution against this is to use asynchronous signal processing
thanks to the internal signal API. The signal handler is registered,
and upon delivery, the signal is added to the queue and processed
out of any other processing.

This code was stressed at 2500 forks/s and their respective signals
for quite some time and the segfault is now gone.
