From: Azat Khuzhin Date: Fri, 10 May 2013 16:22:56 +0000 (+0400) Subject: Missed lock acquire/release in event_base_cancel_single_callback_() X-Git-Tag: release-2.1.4-alpha~126 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=d3d999a116bfb908edfb4c046b4c806d59dfb10d;p=libevent Missed lock acquire/release in event_base_cancel_single_callback_() Call backtrace: ... event_queue_remove_active() event_callback_cancel_nolock_() event_base_cancel_single_callback_() event_base_free_() event_base_free() ... Fix for e9ebef83 --- diff --git a/event.c b/event.c index 5a577e9f..3a7cb98f 100644 --- a/event.c +++ b/event.c @@ -721,7 +721,9 @@ event_base_cancel_single_callback_(struct event_base *base, result = 1; } } else { + EVBASE_ACQUIRE_LOCK(base, th_base_lock); event_callback_cancel_nolock_(base, evcb, 1); + EVBASE_RELEASE_LOCK(base, th_base_lock); result = 1; }