mirror of
https://gitlab.isc.org/isc-projects/bind9
synced 2025-08-31 06:25:31 +00:00
Add a singly-linked stack that supports lock-free prepend and drain (to empty the list and clean up its elements). Intended for use with QSBR to collect objects that need safe memory reclamation, or any other user that works with adding objects to the stack and then draining them in one go like various work queues. In <isc/atomic.h>, add an `atomic_ptr()` macro to make type declarations a little less abominable, and clean up a duplicate definition of `atomic_compare_exchange_strong_acq_rel()`