mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-21 13:51:26 +02:00
BUG/MINOR: proxy: wake up all threads when sending the hard-stop signal
The hard-stop event didn't wake threads up. In the past it wasn't an issue as the poll timeout was limited to 1 second, but since commit 4f59d3861 ("MINOR: time: increase the minimum wakeup interval to 60s") it has become a problem because old processes can remain live for up to one minute after the hard-stop-after delay. Let's just wake them up. This may be backported to older releases, though before 2.4 the extra delay was only one second.
This commit is contained in:
parent
3f5dd2945c
commit
0d03825b93
@ -1612,11 +1612,15 @@ struct task *hard_stop(struct task *t, void *context, unsigned short state)
|
||||
{
|
||||
struct proxy *p;
|
||||
struct stream *s;
|
||||
int thr;
|
||||
|
||||
if (killed) {
|
||||
ha_warning("Some tasks resisted to hard-stop, exiting now.\n");
|
||||
send_log(NULL, LOG_WARNING, "Some tasks resisted to hard-stop, exiting now.\n");
|
||||
killed = 2;
|
||||
for (thr = 0; thr < global.nbthread; thr++)
|
||||
if (((all_threads_mask & ~tid_bit) >> thr) & 1)
|
||||
wake_thread(thr);
|
||||
t->expire = TICK_ETERNITY;
|
||||
return t;
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user