]> git.ipfire.org Git - thirdparty/bird.git/commitdiff
Debug option for ea_free
authorMaria Matejka <mq@ucw.cz>
Sun, 24 Nov 2024 17:43:09 +0000 (18:43 +0100)
committerMaria Matejka <mq@ucw.cz>
Sun, 24 Nov 2024 21:49:39 +0000 (22:49 +0100)
lib/route.h

index de15cfb238d84fa467c81ecaf7a8d76561300eeb..11b06e2aadeb29c3ab79c55a52208cdd834c449e 100644 (file)
@@ -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)