From: Nick Mathewson Date: Fri, 27 Jan 2012 19:39:18 +0000 (-0500) Subject: Check changelist as part of checking representational integrity X-Git-Tag: release-2.1.1-alpha~118 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=39b3f38d7212a549357664bf441632ab0387d80a;p=libevent Check changelist as part of checking representational integrity --- diff --git a/evmap.c b/evmap.c index 3d1d98be..21965607 100644 --- a/evmap.c +++ b/evmap.c @@ -581,10 +581,9 @@ event_change_get_fdinfo(struct event_base *base, return (void*)ptr; } -#ifdef DEBUG_CHANGELIST /** Make sure that the changelist is consistent with the evmap structures. */ static void -event_changelist_check(struct event_base *base) +event_changelist_assert_ok(struct event_base *base) { int i; struct event_changelist *changelist = &base->changelist; @@ -612,6 +611,9 @@ event_changelist_check(struct event_base *base) } } } + +#ifdef DEBUG_CHANGELIST +#define event_changelist_check(base) event_changelist_assert_ok((base)) #else #define event_changelist_check(base) ((void)0) #endif @@ -849,6 +851,8 @@ evmap_check_integrity(struct event_base *base) EVUTIL_ASSERT(nio == 0); EVUTIL_ASSERT(nsignals == 0); /* There is no "EVUTIL_ASSERT(ntimers == 0)": eventqueue is only for - * pending signals and io events. - */ + * pending signals and io events. */ + + if (base->evsel->add == event_changelist_add) + event_changelist_assert_ok(base); }