0
0
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-09-19 20:05:21 +00:00
bird/lib
Maria Matejka 0861d3a8a3 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.
2022-09-18 16:33:51 +02:00
..
a-path_test.c Merge commit '2e5bfeb73ac25e236a24b6c1a88d0f2221ca303f' into thread-next 2022-07-13 14:14:37 +02:00
a-path.c Merge commit '2e5bfeb73ac25e236a24b6c1a88d0f2221ca303f' into thread-next 2022-07-13 14:14:37 +02:00
a-set_test.c Merge commit '94eb0858' into thread-next 2022-07-18 12:33:00 +02:00
a-set.c Merge commit '2e5bfeb73ac25e236a24b6c1a88d0f2221ca303f' into thread-next 2022-07-13 14:14:37 +02:00
alloca.h Several minor fixes 2017-02-20 02:26:45 +01:00
attrs.h Merge commit '2e5bfeb73ac25e236a24b6c1a88d0f2221ca303f' into thread-next 2022-07-13 14:14:37 +02:00
birdlib.h Table access is now locked. 2022-09-08 15:24:02 +02:00
bitmap_test.c Fixed resource initialization in unit tests 2022-03-09 10:30:42 +01:00
bitmap.c Nest: Use bitmaps to keep track of exported routes 2019-11-26 18:39:25 +01:00
bitmap.h Nest: Use bitmaps to keep track of exported routes 2019-11-26 18:39:25 +01:00
bitops_test.c Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0 2016-11-11 17:43:09 +01:00
bitops.c Initial commit on integrated BIRD 2015-11-05 12:48:52 +01:00
bitops.h Slab: head now uses bitmask for used/free nodes info instead of lists 2021-03-25 16:47:48 +01:00
blake2-impl.h Lib: Add Blake2s and Blake2b hash functions 2021-06-06 16:26:58 +02:00
blake2-kat.h Lib: Add tests for blake2s and blake2b 2021-06-06 16:28:09 +02:00
blake2.h Lib: Add Blake2s and Blake2b hash functions 2021-06-06 16:26:58 +02:00
blake2b.c Lib: Add Blake2s and Blake2b hash functions 2021-06-06 16:26:58 +02:00
blake2s.c Lib: Add Blake2s and Blake2b hash functions 2021-06-06 16:26:58 +02:00
buffer_test.c Fixed resource initialization in unit tests 2022-03-09 10:30:42 +01:00
buffer.h Filter: Recursive filter iteration code 2021-02-07 19:21:42 +01:00
checksum_test.c Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0 2016-11-11 17:43:09 +01:00
checksum.c unsigned [int] -> uint 2015-06-08 02:24:08 +02:00
checksum.h unsigned [int] -> uint 2015-06-08 02:24:08 +02:00
Doc Doc: Rename code documentation files back to Doc 2018-12-14 02:03:42 +01:00
event_test.c Fixed main birdloop init in unit tests 2022-08-01 15:17:41 +02:00
event.c Fixing several race-conditions in event code. 2022-09-18 16:33:51 +02:00
event.h Fixing several race-conditions in event code. 2022-09-18 16:33:51 +02:00
fib.h FIB is a data structure generic enough to be in lib 2022-05-04 15:37:41 +02:00
fletcher16_test.c Fletcher16 test fixed to work at bigendian architectures. 2020-04-05 01:15:26 +02:00
fletcher16.h OSPF: Redesign LSA checksumming 2015-05-01 14:40:56 +02:00
flowspec_test.c Fixed resource initialization in unit tests 2022-03-09 10:30:42 +01:00
flowspec.c Flowspec: Documentation update 2021-05-18 20:41:01 +02:00
flowspec.h Flowspec: Fix values for true/false operators 2021-05-14 18:44:52 +02:00
hash_test.c Hash: iterable now per partes by an iterator 2022-07-11 16:07:09 +02:00
hash.h Hash: iterable now per partes by an iterator 2022-07-11 16:07:09 +02:00
heap_test.c Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0 2016-11-11 17:43:09 +01:00
heap.h BFD work in progress. 2013-09-16 23:57:40 +02:00
idm.c Merge branch 'master' into int-new 2016-11-08 19:27:58 +01:00
idm.h Move ID allocator to a separate file and use it also in OSPF 2015-12-29 15:42:12 +01:00
io-loop.h Loop flags: a simple idempotent event announcement mechanism 2022-09-18 16:33:51 +02:00
ip_test.c Trie: Simplify network matching code 2021-11-13 21:11:18 +01:00
ip.c Lib: Allow use of 240.0.0.0/4 as a private range 2022-03-16 20:01:18 +01:00
ip.h Moved hostentry to eattr 2022-05-26 14:53:09 +02:00
lists_test.c Lists: Replaced replace_node() by update_node() which is the only use of that function. 2020-05-01 15:19:12 +02:00
lists.c Merge commit 'a4451535' into thread-next 2022-07-18 11:11:46 +02:00
lists.h Merge commit '94eb0858' into thread-next 2022-07-18 12:33:00 +02:00
locking.h Routing tables have their own service loops. 2022-09-18 16:33:51 +02:00
mac_test.c Lib: Add tests for blake2s and blake2b 2021-06-06 16:28:09 +02:00
mac.c Nest: Allow MAC algorithms to specify min/max key length 2021-06-06 16:28:18 +02:00
mac.h Nest: Allow MAC algorithms to specify min/max key length 2021-06-06 16:28:18 +02:00
macro.h Macro: Added a bunch of dirty C preprocessor tricks 2018-05-29 11:53:51 +02:00
Makefile Introducing basic RCU primitives for lock-less shared data structures 2022-08-02 10:00:21 +02:00
md5.c Add generic message authentication interface 2016-11-02 16:23:53 +01:00
md5.h Add generic message authentication interface 2016-11-02 16:23:53 +01:00
mempool.c Explicit definition structures of route attributes 2022-05-04 15:39:19 +02:00
net.c Add support for source-specific IPv6 routes to BIRD core 2018-02-13 16:39:07 +01:00
net.h Nest: Attach prefix trie to rtable for faster LPM and interval queries 2022-02-06 23:27:13 +01:00
patmatch_test.c Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0 2016-11-11 17:43:09 +01:00
patmatch.c Some consts for function arguments 2015-11-24 13:52:26 +01:00
printf_test.c Lib: Support for 64-bit numbers in bvsnprintf() 2019-10-09 17:53:23 +02:00
printf.c Printf variant with a result allocated inside a pool / linpool 2022-03-15 11:21:46 +01:00
rcu.c Introducing basic RCU primitives for lock-less shared data structures 2022-08-02 10:00:21 +02:00
rcu.h Introducing basic RCU primitives for lock-less shared data structures 2022-08-02 10:00:21 +02:00
resource.c Memory pages allocator is now a global simple lockless structure 2022-09-18 16:33:51 +02:00
resource.h Memory pages allocator is now a global simple lockless structure 2022-09-18 16:33:51 +02:00
resource.sgml Fixes for the programmer's manual. 2000-06-08 12:37:21 +00:00
route.h Table access is now locked. 2022-09-08 15:24:02 +02:00
settle.h Created a dedicated settle timer structure 2022-09-09 18:53:15 +02:00
sha1.c Add generic message authentication interface 2016-11-02 16:23:53 +01:00
sha1.h Add generic message authentication interface 2016-11-02 16:23:53 +01:00
sha256.c Add generic message authentication interface 2016-11-02 16:23:53 +01:00
sha256.h Add generic message authentication interface 2016-11-02 16:23:53 +01:00
sha512.c Add generic message authentication interface 2016-11-02 16:23:53 +01:00
sha512.h Add generic message authentication interface 2016-11-02 16:23:53 +01:00
slab_test.c Slab allocator can free the blocks without knowing the parent structure 2022-04-06 18:14:08 +02:00
slab.c Merge commit 'c70b3198' into thread-next [lots of conflicts] 2022-07-15 14:57:02 +02:00
slist_test.c Birdtest: Replace BT_SUCCESS and BT_FAILURE with 1 and 0 2016-11-11 17:43:09 +01:00
slists.c Unit Testing for BIRD 2016-11-09 16:36:34 +01:00
slists.h Temporary integrated OSPF commit. 2014-06-26 11:58:57 +02:00
socket.h Merge commit '94eb0858' into thread-next 2022-07-18 12:33:00 +02:00
string.h Printf variant with a result allocated inside a pool / linpool 2022-03-15 11:21:46 +01:00
strtoul.c Nest: Allow specifying security keys as hex bytes as well as strings 2021-06-06 16:28:18 +02:00
tbf.c Timers: Fix TBF and some last remains 2017-12-07 13:53:42 +01:00
timer.c Moved the thread starting code to IO loop code 2022-07-28 19:49:03 +02:00
timer.h Moved the thread starting code to IO loop code 2022-07-28 19:49:03 +02:00
tlists.h Typed lists for easier walking and stronger type checking 2022-04-06 18:14:08 +02:00
type_test.c Moved route source attribute (RTS_*) to eattrs 2022-05-04 15:39:53 +02:00
type.h Route destination field merged with nexthop attribute; splitting flowspec validation result out. 2022-05-30 14:39:09 +02:00
unaligned.h The MRT protocol 2018-11-20 17:45:35 +01:00
xmalloc.c unsigned [int] -> uint 2015-06-08 02:24:08 +02:00