diff options
author | Willy Tarreau <w@1wt.eu> | 2020-09-25 16:41:05 +0200 |
---|---|---|
committer | Willy Tarreau <w@1wt.eu> | 2020-10-07 18:45:03 +0200 |
commit | 11697c21becde06378f334ae73ad3710c3cd8f55 (patch) | |
tree | 753d4d95b3938833799389904a6731656a0c516f | |
parent | 8b9cbc733b0d7fe2bb666698a2b4c9f8f2a21875 (diff) | |
download | haproxy-11697c21becde06378f334ae73ad3710c3cd8f55.tar.gz |
MINOR: protocol: directly call enable_listener() from protocol_enable_all()
protocol_enable_all() calls proto->enable_all() for all protocols,
which is always equal to enable_all_listeners() which in turn simply is
a generic loop calling enable_listener() always returning ERR_NONE. Let's
clean this madness by first calling enable_listener() directly from
protocol_enable_all().
-rw-r--r-- | src/protocol.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/src/protocol.c b/src/protocol.c index c248929b3..c9d26754b 100644 --- a/src/protocol.c +++ b/src/protocol.c @@ -196,23 +196,21 @@ int protocol_resume_all(void) } /* enables all listeners of all registered protocols. This is intended to be - * used after a fork() to enable reading on all file descriptors. Returns a - * composition of ERR_NONE, ERR_RETRYABLE, ERR_FATAL. + * used after a fork() to enable reading on all file descriptors. Returns + * composition of ERR_NONE. */ int protocol_enable_all(void) { struct protocol *proto; - int err; + struct listener *listener; - err = 0; HA_SPIN_LOCK(PROTO_LOCK, &proto_lock); list_for_each_entry(proto, &protocols, list) { - if (proto->enable_all) { - err |= proto->enable_all(proto); - } + list_for_each_entry(listener, &proto->listeners, rx.proto_list) + enable_listener(listener); } HA_SPIN_UNLOCK(PROTO_LOCK, &proto_lock); - return err; + return ERR_NONE; } /* |