diff --git a/src/proxy.c b/src/proxy.c index 3e3d7cc23..ea7fc7f6f 100644 --- a/src/proxy.c +++ b/src/proxy.c @@ -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; }