mirror of
https://git.haproxy.org/git/haproxy.git/
synced 2025-09-21 05:41:26 +02:00
MINOR: protocol: always initialize the receivers list on registration
Till now, protocols were required to self-initialize their receivers list head, which is not very convenient, and is quite error prone. Indeed, it's too easy to copy-paste a protocol definition and forget to update the .receivers field to point to itself, resulting in mixed lists. Let's just do that in protocol_register(). And while we're at it, let's also zero the nb_receivers entry that works with it, so that the protocol definition isn't required to pre-initialize stuff related to internal book-keeping.
This commit is contained in:
parent
034974106f
commit
1cb3b0b745
@ -44,6 +44,9 @@ void protocol_register(struct protocol *proto)
|
|||||||
BUG_ON(sock_family < 0 || sock_family >= AF_CUST_MAX);
|
BUG_ON(sock_family < 0 || sock_family >= AF_CUST_MAX);
|
||||||
BUG_ON(proto->proto_type >= PROTO_NUM_TYPES);
|
BUG_ON(proto->proto_type >= PROTO_NUM_TYPES);
|
||||||
|
|
||||||
|
LIST_INIT(&proto->receivers);
|
||||||
|
proto->nb_receivers = 0;
|
||||||
|
|
||||||
HA_SPIN_LOCK(PROTO_LOCK, &proto_lock);
|
HA_SPIN_LOCK(PROTO_LOCK, &proto_lock);
|
||||||
LIST_APPEND(&protocols, &proto->list);
|
LIST_APPEND(&protocols, &proto->list);
|
||||||
__protocol_by_family[sock_family]
|
__protocol_by_family[sock_family]
|
||||||
|
Loading…
x
Reference in New Issue
Block a user