From b4daeeb094ea03556613941f3977385270d6fe75 Mon Sep 17 00:00:00 2001 From: Willy Tarreau Date: Wed, 4 Nov 2020 14:58:36 +0100 Subject: [PATCH] MINOR: sock: add a check against cross worker<->master socket activities Given that the previous issues caused spurious worker socket wakeups in the master for inherited FDs that couldn't be closed, let's add a strict test in the I/O callback to make sure that an accept() event is always caught by the appropriate type of process (master for master listeners, worker for worker listeners). --- src/sock.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/sock.c b/src/sock.c index 3e2f208..9eff7f1 100644 --- a/src/sock.c +++ b/src/sock.c @@ -621,6 +621,7 @@ void sock_accept_iocb(int fd) if (!l) return; + BUG_ON(!!master != !!(l->rx.flags & RX_F_MWORKER)); listener_accept(l); } -- 1.7.10.4