]> granicus.if.org Git - libevent/commitdiff
Do not let EVLOOP_ONCE exit the loop until all deferred callbacks have run
authorNick Mathewson <nickm@torproject.org>
Mon, 15 Nov 2010 00:32:13 +0000 (19:32 -0500)
committerNick Mathewson <nickm@torproject.org>
Mon, 15 Nov 2010 00:32:13 +0000 (19:32 -0500)
event.c

diff --git a/event.c b/event.c
index bde4d1cc8df0aec6555d1fea7ea52dfa5a495fc5..4e429273d1059d1a9d3d14fcc4030988550b3b49 100644 (file)
--- a/event.c
+++ b/event.c
@@ -1550,7 +1550,7 @@ event_base_loop(struct event_base *base, int flags)
                if (N_ACTIVE_CALLBACKS(base)) {
                        int n = event_process_active(base);
                        if ((flags & EVLOOP_ONCE)
-                           && base->event_count_active == 0
+                           && N_ACTIVE_CALLBACKS(base) == 0
                            && n != 0)
                                done = 1;
                } else if (flags & EVLOOP_NONBLOCK)