From e654efd35492764c369f68fe6affa648d873b63d Mon Sep 17 00:00:00 2001 From: Maria Matejka Date: Sun, 24 Nov 2024 18:43:09 +0100 Subject: [PATCH] Debug option for ea_free --- lib/route.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/route.h b/lib/route.h index de15cfb2..11b06e2a 100644 --- a/lib/route.h +++ b/lib/route.h @@ -11,6 +11,7 @@ #define _BIRD_LIB_ROUTE_H_ #undef RT_SOURCE_DEBUG +#define EA_FREE_DEBUG #include "lib/type.h" #include "lib/rcu.h" @@ -588,6 +589,10 @@ struct ea_free_deferred { void ea_free_deferred(struct deferred_call *dc); +#ifdef EA_FREE_DEBUG +#define ea_free_later _ea_free_later_internal +#endif + static inline ea_list *ea_free_later(ea_list *r) { if (!r) @@ -602,6 +607,11 @@ static inline ea_list *ea_free_later(ea_list *r) return r; } +#ifdef EA_FREE_DEBUG +#undef ea_free_later +#define ea_free_later(x) ( log(L_INFO "EA free request %p at %s:%d", (x), __FILE__, __LINE__), _ea_free_later_internal(x) ) +#endif + #define ea_free ea_free_later static inline ea_list *ea_lookup_tmp(ea_list *r, u32 squash_upto, enum ea_stored oid)