From d17d3ff2bec4b9c517b3d690c2766d3fdec515ce Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Fri, 13 Apr 2018 17:00:02 +0100 Subject: [PATCH] [Minor] Return async event produced --- src/libserver/events.c | 29 +++++++++++++++++------------ src/libserver/events.h | 5 +++-- 2 files changed, 20 insertions(+), 14 deletions(-) diff --git a/src/libserver/events.c b/src/libserver/events.c index baf108e38..c12b5e2f3 100644 --- a/src/libserver/events.c +++ b/src/libserver/events.c @@ -127,37 +127,40 @@ rspamd_session_create (rspamd_mempool_t * pool, session_finalizer_t fin, return new; } -void +struct rspamd_async_event * rspamd_session_add_event (struct rspamd_async_session *session, event_finalizer_t fin, void *user_data, GQuark subsystem) { - struct rspamd_async_event *new; + struct rspamd_async_event *new_event; if (session == NULL) { msg_err ("session is NULL"); - return; + g_abort (); + + /* Not reached */ + return NULL; } - new = rspamd_mempool_alloc (session->pool, + new_event = rspamd_mempool_alloc (session->pool, sizeof (struct rspamd_async_event)); - new->fin = fin; - new->user_data = user_data; - new->subsystem = subsystem; + new_event->fin = fin; + new_event->user_data = user_data; + new_event->subsystem = subsystem; if (RSPAMD_SESSION_IS_WATCHING (session)) { - new->w = session->cur_watcher; - new->w->remain ++; + new_event->w = session->cur_watcher; + new_event->w->remain ++; msg_debug_session ("added event: %p, pending %d events, " "subsystem: %s, watcher: %d", user_data, g_hash_table_size (session->events), g_quark_to_string (subsystem), - new->w->id); + new_event->w->id); } else { - new->w = NULL; + new_event->w = NULL; msg_debug_session ("added event: %p, pending %d events, " "subsystem: %s, no watcher!", user_data, @@ -165,7 +168,9 @@ rspamd_session_add_event (struct rspamd_async_session *session, g_quark_to_string (subsystem)); } - g_hash_table_insert (session->events, new, new); + g_hash_table_insert (session->events, new_event, new_event); + + return new_event; } static inline void diff --git a/src/libserver/events.h b/src/libserver/events.h index 1c9b49faf..a0f99c0a5 100644 --- a/src/libserver/events.h +++ b/src/libserver/events.h @@ -47,8 +47,9 @@ struct rspamd_async_session * rspamd_session_create (rspamd_mempool_t *pool, * @param user_data abstract user_data * @param forced unused */ -void rspamd_session_add_event (struct rspamd_async_session *session, - event_finalizer_t fin, gpointer user_data, GQuark subsystem); +struct rspamd_async_event* rspamd_session_add_event ( + struct rspamd_async_session *session, + event_finalizer_t fin, gpointer user_data, GQuark subsystem); /** * Remove normal event -- 2.39.5