From 438d4ff2bd2459cbb6778750f840c3667a302bfb Mon Sep 17 00:00:00 2001 From: Nick Mathewson Date: Tue, 24 Jan 2012 15:29:39 -0500 Subject: [PATCH] Make event_base integrity check work on windows --- evmap.c | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/evmap.c b/evmap.c index 829a73e2..e3ee403d 100644 --- a/evmap.c +++ b/evmap.c @@ -731,10 +731,13 @@ evmap_check_integrity(struct event_base *base) #define EVLIST_X_SIGFOUND 0x1000 #define EVLIST_X_IOFOUND 0x2000 - int i; + evutil_socket_t i; struct event *ev; struct event_io_map *io = &base->io; struct event_signal_map *sigmap = &base->sigmap; +#ifdef EVMAP_USE_HT + struct event_map_entry **mapent; +#endif int nsignals, ntimers, nio; nsignals = ntimers = nio = 0; @@ -744,11 +747,17 @@ evmap_check_integrity(struct event_base *base) ev->ev_flags &= ~(EVLIST_X_SIGFOUND|EVLIST_X_IOFOUND); } - +#ifdef EVMAP_USE_HT + HT_FOREACH(mapent, event_io_map, io) { + struct evmap_io *ctx = &(*mapent)->ent.evmap_io; + i = (*mapent)->fd; +#else for (i = 0; i < io->nentries; ++i) { struct evmap_io *ctx = io->entries[i]; + if (!ctx) continue; +#endif TAILQ_FOREACH(ev, &ctx->events, ev_io_next) { EVUTIL_ASSERT(!(ev->ev_flags & EVLIST_X_IOFOUND)); -- 2.40.0