From 50be5a14b5aa4d14be2803ef994a232198ec9178 Mon Sep 17 00:00:00 2001 From: Leonid Evdokimov Date: Thu, 11 Aug 2011 03:06:07 +0400 Subject: [PATCH 1/3] Another docstring fix. --- include/event2/dns.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/event2/dns.h b/include/event2/dns.h index 722699a5..06031665 100644 --- a/include/event2/dns.h +++ b/include/event2/dns.h @@ -377,7 +377,7 @@ struct evdns_request *evdns_base_resolve_reverse_ipv6(struct evdns_base *base, c @param base the evdns_base that was used to make the request @param req the evdns_request that was returned by calling a resolve function - @see evdns_base_resolve_ip4(), evdns_base_resolve_ipv6, evdns_base_resolve_reverse + @see evdns_base_resolve_ipv4(), evdns_base_resolve_ipv6, evdns_base_resolve_reverse */ void evdns_cancel_request(struct evdns_base *base, struct evdns_request *req); From 9b724b288a81db16e7d19bddb0c18a0ddb995ba3 Mon Sep 17 00:00:00 2001 From: Leonid Evdokimov Date: Thu, 11 Aug 2011 03:10:08 +0400 Subject: [PATCH 2/3] 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) From aff6ba15a1712567ca65d3d4d0b6f0c2fabc672b Mon Sep 17 00:00:00 2001 From: Leonid Evdokimov Date: Thu, 11 Aug 2011 03:24:06 +0400 Subject: [PATCH 3/3] Fix request_finished memory leak with debugging turned on. --- evdns.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/evdns.c b/evdns.c index 6dd3dc92..7e175edb 100644 --- a/evdns.c +++ b/evdns.c @@ -645,6 +645,8 @@ request_finished(struct request *const req, struct request **head, int free_hand } else { base->global_requests_waiting--; } + /* it was initialized during request_new / evtimer_assign */ + event_debug_unassign(&req->timeout_event); if (!req->request_appended) { /* need to free the request data on it's own */