bind9/tests/libtest
Tony Finch c319ccd4c9 Fixes for liburcu-qsbr
Move registration and deregistration of the main thread from
`isc_loopmgr_run()` into `isc__initialize()` / `isc__shutdown()`:
liburcu-qsbr fails an assertion if we try to use it from an
unregistered thread, and we need to be able to use it when the
event loops are not running.

Use `rcu_assign_pointer()` and `rcu_dereference()` in qp-trie
transactions so that they properly mark threads as online. The
RCU-protected pointer is no longer declared atomic because
liburcu does not (yet) use standard C atomics.

Fix the definition of `isc_qsbr_rcu_dereference()` to return
the referenced value, and to call the right function inside
liburcu.

Change the thread sanitizer suppressions to match any variant of
`rcu_*_barrier()`
2023-05-15 20:49:42 +00:00
..
dns.c The zone table no longer depends on the loop manager 2023-05-12 20:48:31 +01:00
isc.c Always initialize the workers in the libtest 2023-04-21 09:04:24 +02:00
Makefile.am Get the tests working with liburcu 2023-05-12 20:48:31 +01:00
ns.c Refactor isc_time_now() to return time, and not result 2023-03-31 15:02:06 +02:00
qp.c Fixes for liburcu-qsbr 2023-05-15 20:49:42 +00:00