The first pid in the pidfile is now the parent, it's more convenient for
supervising the processus.

You can now reload haproxy in master-worker mode with convenient command
like: kill -USR2 $(head -1 /tmp/haproxy.pid)
---
 src/haproxy.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/src/haproxy.c b/src/haproxy.c
index f12e903b2..bcbbad4a1 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -2631,6 +2631,13 @@ int main(int argc, char **argv)
                        }
                }
 
+               /* if in master-worker mode, write the PID of the father */
+               if (global.mode & MODE_MWORKER) {
+                       char pidstr[100];
+                       snprintf(pidstr, sizeof(pidstr), "%d\n", getpid());
+                       shut_your_big_mouth_gcc(write(pidfd, pidstr, 
strlen(pidstr)));
+               }
+
                /* the father launches the required number of processes */
                for (proc = 0; proc < global.nbproc; proc++) {
                        ret = fork();
-- 
2.13.6


Reply via email to