BUG/MINOR: mworker: only write to pidfile if it exists
A missing test causes a write(-1, $PID) to appear in strace output when
in master-worker mode. This is totally harmless though.
This fix must be backported to 1.8.
diff --git a/src/haproxy.c b/src/haproxy.c
index 89044c6..8e0e30d 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -2786,7 +2786,8 @@
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)));
+ if (pidfd >= 0)
+ shut_your_big_mouth_gcc(write(pidfd, pidstr, strlen(pidstr)));
}
/* the father launches the required number of processes */