summaryrefslogtreecommitdiffstats
path: root/src/libserver/worker_util.h
diff options
context:
space:
mode:
authorVsevolod Stakhov <vsevolod@highsecure.ru>2019-06-16 09:57:21 +0100
committerVsevolod Stakhov <vsevolod@highsecure.ru>2019-06-22 10:57:29 +0100
commit71e0dbf9608026c347279886097790e51e9e5506 (patch)
tree1243e079b7c6fcb6a12707a67536ef1d62a638dc /src/libserver/worker_util.h
parentbb3a48e42835fdbb456fdf0d0f74050fa61ff7d5 (diff)
downloadrspamd-71e0dbf9608026c347279886097790e51e9e5506.tar.gz
rspamd-71e0dbf9608026c347279886097790e51e9e5506.zip
[Project] Remove libfann, gd and other unsupported stuff
Diffstat (limited to 'src/libserver/worker_util.h')
-rw-r--r--src/libserver/worker_util.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/libserver/worker_util.h b/src/libserver/worker_util.h
index 2dc78dfc7..67b54e5c9 100644
--- a/src/libserver/worker_util.h
+++ b/src/libserver/worker_util.h
@@ -36,6 +36,9 @@ struct rspamd_worker_signal_handler;
* @param base
*/
void rspamd_worker_init_signals (struct rspamd_worker *worker, struct ev_loop *base);
+
+typedef void (*rspamd_accept_handler)(struct ev_loop *loop, ev_io *w, int revents);
+
/**
* Prepare worker's startup
* @param worker worker structure
@@ -46,7 +49,7 @@ void rspamd_worker_init_signals (struct rspamd_worker *worker, struct ev_loop *b
*/
struct ev_loop *
rspamd_prepare_worker (struct rspamd_worker *worker, const char *name,
- void (*accept_handler)(int, short, void *));
+ rspamd_accept_handler hdl);
/**
* Set special signal handler for a worker
@@ -124,8 +127,6 @@ void rspamd_controller_send_ucl (struct rspamd_http_connection_entry *entry,
*/
worker_t * rspamd_get_worker_by_type (struct rspamd_config *cfg, GQuark type);
-void rspamd_worker_stop_accept (struct rspamd_worker *worker);
-
/**
* Block signals before terminations
*/
@@ -202,6 +203,13 @@ void rspamd_worker_init_monitored (struct rspamd_worker *worker,
struct ev_loop *ev_base,
struct rspamd_dns_resolver *resolver);
+/**
+ * Performs throttling for accept events
+ * @param sock
+ * @param data struct rspamd_worker_accept_event * list
+ */
+void rspamd_worker_throttle_accept_events (gint sock, void *data);
+
#define msg_err_main(...) rspamd_default_log_function (G_LOG_LEVEL_CRITICAL, \
rspamd_main->server_pool->tag.tagname, rspamd_main->server_pool->tag.uid, \
G_STRFUNC, \