MAJOR: mworker: exits the master on failure
This patch changes the behavior of the master during the exit of a
worker.
When a worker exits with an error code, for example in the case of a
segfault, all workers are now killed and the master leaves.
If you don't want this behavior you can use the option
"master-worker no-exit-on-failure".
diff --git a/src/haproxy.c b/src/haproxy.c
index faa46e0..891a021 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -759,7 +759,7 @@
if (current_child(exitpid)) {
ha_alert("Current worker %d left with exit code %d\n", exitpid, status);
if (status != 0 && status != 130 && status != 143
- && global.tune.options & GTUNE_EXIT_ONFAILURE) {
+ && !(global.tune.options & GTUNE_NOEXIT_ONFAILURE)) {
ha_alert("exit-on-failure: killing every workers with SIGTERM\n");
mworker_kill(SIGTERM);
}