]> git.ipfire.org Git - thirdparty/bird.git/commit
Object locks use events
authorMaria Matejka <mq@ucw.cz>
Tue, 24 Jan 2023 10:01:34 +0000 (11:01 +0100)
committerMaria Matejka <mq@ucw.cz>
Thu, 26 Jan 2023 12:22:28 +0000 (13:22 +0100)
commit05d8c3699d51866c68747167556e7c1f06390afe
treef4d02839aa5ad2086779974625e52ba5c2b028d0
parent4334f86251429eb39bfe81ff19496d141fccef84
Object locks use events

Instead of calling custom hooks from object locks, we use standard event
sending mechanism to inform protocols about object lock changes. This is
a backport from version 3 where these events are passed across threads.

This implementation of object locks doesn't use mutexes to lock the
whole data structure. In version 3, this data structure may get accessed
from multiple threads and must be protected by mutex.
nest/locks.c
nest/locks.h
proto/babel/babel.c
proto/bgp/bgp.c
proto/ospf/iface.c
proto/radv/radv.c
proto/rip/rip.c