BUG/MINOR: threads: fix soft-stop without multithreading support
authorAurelien DARRAGON <adarragon@haproxy.com>
Mon, 12 May 2025 09:57:39 +0000 (11:57 +0200)
committerWilly Tarreau <w@1wt.eu>
Thu, 15 May 2025 15:01:43 +0000 (17:01 +0200)
When thread support is disabled ("USE_THREAD=" or "USE_THREAD=0" when
building), soft-stop doesn't work as haproxy never ends after stopping
the proxies.

This used to work fine in the past but suddenly stopped working with
ef422ced91 ("MEDIUM: thread: make stopping_threads per-group and add
stopping_tgroups") because the "break;" instruction under the stopping
condition is never executed when support for multithreading is disabled.

To fix the issue, let's add an "else" block to run the "break;"
instruction when USE_THREAD is not defined.

It should be backported up to 2.8

(cherry picked from commit 7d057e56af86cdc98c5388986931c247dbafa5b3)
Signed-off-by: Willy Tarreau <w@1wt.eu>

src/haproxy.c

index 1e08bb2..08ca69c 100644 (file)
@@ -3084,6 +3084,8 @@ void run_poll_loop()
                                                        wake_thread(i);
                                        break;
                                }
+#else
+                               break;
 #endif
                        }
                }