rspamd_session_cleanup (struct rspamd_async_session *session)
{
struct rspamd_async_event *ev;
- gchar t;
+ int i;
if (session == NULL) {
msg_err ("session is NULL");
return;
}
- kh_foreach (session->events, ev, t, {
+ for (i = kh_begin (session->events); i != kh_end (session->events); i ++) {
+ if (!kh_exist (session->events, i)) continue;
+ ev = kh_key (session->events, i);
+
/* Call event's finalizer */
msg_debug_session ("removed event on destroy: %p, subsystem: %s",
ev->user_data,
if (ev->fin != NULL) {
ev->fin (ev->user_data);
}
- });
-
- (void)t;
+ }
kh_clear (rspamd_events_hash, session->events);
}