mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2026-05-04 12:41:00 +02:00
BUG/MEDIUM: debug: make the debug_handler check for the thread in threads_to_dump
It happens that just sending the debug signal to the process makes on thread wait for its turn while nobody wants to dump. We need to at least verify that a dump was really requested for this thread. This can be backported to 2.1 and 2.0.
This commit is contained in:
parent
516853f1cc
commit
82aafc4a0f
@ -645,6 +645,12 @@ void ha_thread_dump_all_to_trash()
|
||||
/* handles DEBUGSIG to dump the state of the thread it's working on */
|
||||
void debug_handler(int sig, siginfo_t *si, void *arg)
|
||||
{
|
||||
/* first, let's check it's really for us and that we didn't just get
|
||||
* a spurious DEBUGSIG.
|
||||
*/
|
||||
if (!(threads_to_dump & tid_bit))
|
||||
return;
|
||||
|
||||
/* There are 4 phases in the dump process:
|
||||
* 1- wait for our turn, i.e. when all lower bits are gone.
|
||||
* 2- perform the action if our bit is set
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user