]> git.ipfire.org Git - thirdparty/haproxy.git/commit
BUG/MINOR: signals/poller: set the poller timeout to 0 when there are signals
authorWilliam Lallemand <wlallemand@haproxy.org>
Thu, 8 Sep 2022 15:46:31 +0000 (17:46 +0200)
committerWilliam Lallemand <wlallemand@haproxy.org>
Thu, 8 Sep 2022 15:46:31 +0000 (17:46 +0200)
commit43c891dda0c7c1c9f12dab5b77ac20b158a68adc
treefffa067200da44e72a7a43f9464f4a80e2f4d2a7
parente86bc356725903d9b29c03d2b9751203afad2048
BUG/MINOR: signals/poller: set the poller timeout to 0 when there are signals

When receiving a signal before entering the poller, and without any
activity in the process, the poller will be entered with a timeout
calculated without checking the signals.

Since commit 4f59d3 ("MINOR: time: increase the minimum wakeup interval
to 60s") the issue is much more visible because it could be stuck for
60s.

When in mworker mode, if a worker quits and the SIGCHLD signal deliver
at the right time to the master, this one could be stuck for the time of
the timeout.

This should fix issue #1841

Must be backported in every stable version.
src/ev_epoll.c
src/ev_evports.c
src/ev_kqueue.c
src/ev_poll.c