]> git.ipfire.org Git - thirdparty/bird.git/commit
Task deferrer: kinda more dumb-resistant macro
authorMaria Matejka <mq@ucw.cz>
Mon, 3 Jun 2024 09:12:20 +0000 (11:12 +0200)
committerMaria Matejka <mq@ucw.cz>
Tue, 4 Jun 2024 08:11:36 +0000 (10:11 +0200)
commitb287c13f2102c4b49c93fb300a580238b42d5a7b
treed3acca9db21c707c093e1743d1aa4be0fe907ffb
parent2705c385c074431ee8cee2fdde710de2b7da0b54
Task deferrer: kinda more dumb-resistant macro

Originally, this mechanism required to check whether there's enough time to work
and then to send an event. This macro combines all the logic and goes more straightforwardly
to the _end_ of the export processing loop.

One should note that there were two cases where the export processing loop
was deferred at the _beginning_, which led to ignoring some routes on
reimports. This wasn't easily noticeable in the tests until the one-task
limit got a ceiling on 300 ms to keep reasonable latency.
lib/io-loop.h
nest/proto.c
nest/rt-table.c
proto/bgp/attrs.c