From: David Lamparter Date: Tue, 21 May 2019 03:16:08 +0000 (+0200) Subject: lib: add missing atomlist_init/fini X-Git-Tag: base_7.2~319^2~4 X-Git-Url: https://git.puffer.fish/?a=commitdiff_plain;h=9680a2af1c24e8de4e576328d69cad1199ad56a6;p=matthieu%2Ffrr.git lib: add missing atomlist_init/fini Only noticed this when trying to add atomlists to the typesafe datastructure tests... the atomic-specific test_atomlist doesn't use init/fini :/ Signed-off-by: David Lamparter --- diff --git a/lib/atomlist.h b/lib/atomlist.h index 373c481f2a..e4098ccb54 100644 --- a/lib/atomlist.h +++ b/lib/atomlist.h @@ -152,6 +152,15 @@ macro_inline type *prefix ## _next_safe(struct prefix##_head *h, type *item) \ { return item ? prefix##_next(h, item) : NULL; } \ macro_inline size_t prefix ## _count(struct prefix##_head *h) \ { return atomic_load_explicit(&h->ah.count, memory_order_relaxed); } \ +macro_inline void prefix ## _init(struct prefix##_head *h) \ +{ \ + memset(h, 0, sizeof(*h)); \ +} \ +macro_inline void prefix ## _fini(struct prefix##_head *h) \ +{ \ + assert(prefix ## _count(h) == 0); \ + memset(h, 0, sizeof(*h)); \ +} \ /* ... */ /* add_head: