Merge remote-tracking branch 'origin/patches-2.0'

This commit is contained in:
Nick Mathewson 2011-12-06 11:02:12 -05:00
commit 9ce5053d6e

View File

@ -1119,6 +1119,7 @@ event_signal_closure(struct event_base *base, struct event *ev)
/* Allows deletes to work */
ncalls = ev->ev_ncalls;
if (ncalls != 0)
ev->ev_pncalls = &ncalls;
EVBASE_RELEASE_LOCK(base, th_base_lock);
while (ncalls) {
@ -1132,9 +1133,12 @@ event_signal_closure(struct event_base *base, struct event *ev)
should_break = base->event_break;
EVBASE_RELEASE_LOCK(base, th_base_lock);
if (should_break)
if (should_break) {
if (ncalls != 0)
ev->ev_pncalls = NULL;
return;
}
}
}
/* Common timeouts are special timeouts that are handled as queues rather than