diff --git a/src/listener.c b/src/listener.c index 6b6b5d84c..5f349110f 100644 --- a/src/listener.c +++ b/src/listener.c @@ -128,6 +128,11 @@ int pause_listener(struct listener *l) */ int resume_listener(struct listener *l) { + if ((global.mode & (MODE_DAEMON | MODE_SYSTEMD)) && + l->bind_conf->bind_proc && + !(l->bind_conf->bind_proc & (1UL << (relative_pid - 1)))) + return 1; + if (l->state == LI_ASSIGNED) { char msg[100]; int err; @@ -145,11 +150,6 @@ int resume_listener(struct listener *l) if (l->state < LI_PAUSED) return 0; - if ((global.mode & (MODE_DAEMON | MODE_SYSTEMD)) && - l->bind_conf->bind_proc && - !(l->bind_conf->bind_proc & (1UL << (relative_pid - 1)))) - return 1; - if (l->proto->sock_prot == IPPROTO_TCP && l->state == LI_PAUSED && listen(l->fd, l->backlog ? l->backlog : l->maxconn) != 0)