summaryrefslogtreecommitdiffstats
path: root/src/libserver/events.c
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2018-04-13 17:00:02 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2018-04-13 17:02:11 +0100
commitd17d3ff2bec4b9c517b3d690c2766d3fdec515ce (patch)
tree8cbf3c55452743a4da4831f7d589f85678394bd1 /src/libserver/events.c
parent5a4b947ffc0ecf14298aa4096c55f92d3e59e520 (diff)
downloadrspamd-d17d3ff2bec4b9c517b3d690c2766d3fdec515ce.tar.gz
rspamd-d17d3ff2bec4b9c517b3d690c2766d3fdec515ce.zip
[Minor] Return async event produced
Diffstat (limited to 'src/libserver/events.c')
-rw-r--r--src/libserver/events.c29
1 files changed, 17 insertions, 12 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