From be7a95c62995a679ee24146b0d641b7392cbab51 Mon Sep 17 00:00:00 2001 From: Simon Liu Date: Fri, 15 Jun 2012 01:01:05 +0800 Subject: [PATCH] Make event_pending() threadsafe. (Commit message by Nick) --- event.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/event.c b/event.c index 325f005b..09df46b0 100644 --- a/event.c +++ b/event.c @@ -1846,6 +1846,7 @@ event_pending(const struct event *ev, short event, struct timeval *tv) { int flags = 0; + EVBASE_ACQUIRE_LOCK(ev->ev_base, th_base_lock); _event_debug_assert_is_setup(ev); if (ev->ev_flags & EVLIST_INSERTED) @@ -1869,6 +1870,8 @@ event_pending(const struct event *ev, short event, struct timeval *tv) #endif } + EVBASE_RELEASE_LOCK(ev->ev_base, th_base_lock); + return (flags & event); }