aboutsummaryrefslogtreecommitdiffstats
path: root/src/rspamd.h
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2015-10-08 16:38:29 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2015-10-08 16:38:29 +0100
commitdb7dba5ba7daec61ca505e0299bfbf46d7f22167 (patch)
tree7e7fe14a2f46d7e631c8677598d71b5f8df0d6ec /src/rspamd.h
parent0f74ebee2bcb2714390bdc861bbec2017093289c (diff)
downloadrspamd-db7dba5ba7daec61ca505e0299bfbf46d7f22167.tar.gz
rspamd-db7dba5ba7daec61ca505e0299bfbf46d7f22167.zip
Rework workers signals handlers to be nested if needed.
Diffstat (limited to 'src/rspamd.h')
-rw-r--r--src/rspamd.h11
1 files changed, 9 insertions, 2 deletions
diff --git a/src/rspamd.h b/src/rspamd.h
index e085425aa..700d0a599 100644
--- a/src/rspamd.h
+++ b/src/rspamd.h
@@ -53,14 +53,21 @@ struct rspamd_worker {
gpointer ctx; /**< worker's specific data */
};
+struct rspamd_worker_signal_handler;
+
+struct rspamd_worker_signal_cb {
+ void (*handler) (struct rspamd_worker_signal_handler *, void *ud);
+ void *handler_data;
+ struct rspamd_worker_signal_cb *next, *prev;
+};
+
struct rspamd_worker_signal_handler {
gint signo;
gboolean enabled;
struct event ev;
struct event_base *base;
struct rspamd_worker *worker;
- void (*post_handler)(void *ud);
- void *handler_data;
+ struct rspamd_worker_signal_cb *cb;
};
struct rspamd_controller_pbkdf {