]> git.ipfire.org Git - thirdparty/bird.git/commit
Fixing several race-conditions in event code.
authorMaria Matejka <mq@ucw.cz>
Mon, 12 Sep 2022 09:09:43 +0000 (11:09 +0200)
committerMaria Matejka <mq@ucw.cz>
Sun, 18 Sep 2022 14:33:51 +0000 (16:33 +0200)
commit0861d3a8a3af3935d474a12c6227ea2403375b4c
tree199d958d60c4cdb69b7dc5a1253d32dff70e4a6b
parente3e15f36fa54414e497fab1a054c89c6b1cdd1df
Fixing several race-conditions in event code.

After a suggestion by Santiago, I added the direct list pointer into
events and the events are now using this value to check whether the
route is active or not. Also the whole trick with sentinel node unioned
with event list is now gone.

For debugging, there is also an internal circular buffer to store what
has been recently happening in event code before e.g. a crash happened.
By default, this debug is off and must be manually enabled in
lib/event.c as it eats quite some time and space.
lib/event.c
lib/event.h