diff options
Diffstat (limited to 'src/protocol.c')
| -rw-r--r-- | src/protocol.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/protocol.c b/src/protocol.c index 529f71175..eb646a7f1 100644 --- a/src/protocol.c +++ b/src/protocol.c @@ -82,14 +82,14 @@ int protocol_bind_all(char *errmsg, int errlen) int protocol_unbind_all(void) { struct protocol *proto; + struct listener *listener; int err; err = 0; HA_SPIN_LOCK(PROTO_LOCK, &proto_lock); list_for_each_entry(proto, &protocols, list) { - if (proto->unbind_all) { - err |= proto->unbind_all(proto); - } + list_for_each_entry(listener, &proto->listeners, rx.proto_list) + unbind_listener(listener); } HA_SPIN_UNLOCK(PROTO_LOCK, &proto_lock); return err; |
