MEDIUM: init: stop any peers section not bound to the correct process

This will prevent the peers section from remaining in listen state on
the incorrect process. The peers_fe pointer is set to NULL, which will
tell the peers task to commit suicide if it was already scheduled.
(cherry picked from commit f83d3fe00a7d8b90ead5924faca1e4b6df362aec)
diff --git a/src/haproxy.c b/src/haproxy.c
index 9a76d1b..60009cc 100644
--- a/src/haproxy.c
+++ b/src/haproxy.c
@@ -1548,6 +1548,7 @@
 
 	if (global.mode & (MODE_DAEMON | MODE_SYSTEMD)) {
 		struct proxy *px;
+		struct peers *curpeers;
 		int ret = 0;
 		int *children = calloc(global.nbproc, sizeof(int));
 		int proc;
@@ -1607,6 +1608,19 @@
 			px = px->next;
 		}
 
+		/* we might have to unbind some peers sections from some processes */
+		for (curpeers = peers; curpeers; curpeers = curpeers->next) {
+			if (!curpeers->peers_fe)
+				continue;
+
+			if (curpeers->peers_fe->bind_proc & (1UL << proc))
+				continue;
+
+			stop_proxy(curpeers->peers_fe);
+			/* disable this peer section so that it kills itself */
+			curpeers->peers_fe = NULL;
+		}
+
 		free(children);
 		children = NULL;
 		/* if we're NOT in QUIET mode, we should now close the 3 first FDs to ensure