From 9b724b288a81db16e7d19bddb0c18a0ddb995ba3 Mon Sep 17 00:00:00 2001 From: Leonid Evdokimov Date: Thu, 11 Aug 2011 03:10:08 +0400 Subject: [PATCH] Fix evsig_dealloc memory leak with debugging turned on. --- signal.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/signal.c b/signal.c index 4e7fecff..e142a4dd 100644 --- a/signal.c +++ b/signal.c @@ -399,9 +399,11 @@ evsig_dealloc(struct event_base *base) int i = 0; if (base->sig.ev_signal_added) { event_del(&base->sig.ev_signal); - event_debug_unassign(&base->sig.ev_signal); base->sig.ev_signal_added = 0; } + /* debug event is created in evsig_init/event_assign even when + * ev_signal_added == 0, so unassign is required */ + event_debug_unassign(&base->sig.ev_signal); for (i = 0; i < NSIG; ++i) { if (i < base->sig.sh_old_max && base->sig.sh_old[i] != NULL) -- 2.40.0