Check changelist as part of checking representational integrity

This commit is contained in:
Nick Mathewson 2012-01-27 14:39:18 -05:00
parent 2c4b5de16a
commit 39b3f38d72

12
evmap.c
View File

@ -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);
}