summaryrefslogtreecommitdiff
path: root/sysdep/unix/sync-rt.c
diff options
context:
space:
mode:
authorMartin Mares <mj@ucw.cz>1998-12-20 14:01:20 +0000
committerMartin Mares <mj@ucw.cz>1998-12-20 14:01:20 +0000
commit3ab001b97402bc01a4777cf1cb60ce940d50ffe3 (patch)
tree415d5416dec8e37c8a54b53be507b4fd517b1ce7 /sysdep/unix/sync-rt.c
parenta6f250f5c6d079badc4a1274b19a21a52de6acec (diff)
Rewrote fib functions to make them insert/delete/asynchronous-walk safe.
This is implemented in a way similar to lib/slists.h, but it took some more effort to make rehashing not disturb the readers. We do it by just taking _highest_ k bits of ipa_hash as our hash value and sorting each box by whole ipa_hash(). Consult FIB_ITERATE_* macros in nest/route.h. Implemented fib_check() debugging function and also rewrote the rehashing algorithm to use better thresholds and not to waste time by rehashing forth and back.
Diffstat (limited to 'sysdep/unix/sync-rt.c')
0 files changed, 0 insertions, 0 deletions