From: Vsevolod Stakhov Date: Sun, 1 Feb 2026 16:00:05 +0000 (+0000) Subject: [Fix] worker_util: add hyperscan handlers to controller X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=3f240ee5ba3ca2968b6024e8076f6a943b61d336;p=thirdparty%2Frspamd.git [Fix] worker_util: add hyperscan handlers to controller Controller was missing hyperscan/multipattern/regexp_map hot-swap handlers, causing it to stay on ACISM fallback while normal workers switched to hyperscan. --- diff --git a/src/libserver/worker_util.c b/src/libserver/worker_util.c index cbc9107af6..6236e7914d 100644 --- a/src/libserver/worker_util.c +++ b/src/libserver/worker_util.c @@ -2540,6 +2540,22 @@ void rspamd_worker_init_controller(struct rspamd_worker *worker, ctx = (struct rspamd_abstract_worker_ctx *) worker->ctx; rspamd_controller_load_saved_stats(worker->srv, worker->srv->cfg); +#ifdef WITH_HYPERSCAN + /* Controller also needs hyperscan handlers for hot-swap support */ + rspamd_control_worker_add_cmd_handler(worker, + RSPAMD_CONTROL_HYPERSCAN_LOADED, + rspamd_worker_hyperscan_ready, + NULL); + rspamd_control_worker_add_cmd_handler(worker, + RSPAMD_CONTROL_MULTIPATTERN_LOADED, + rspamd_worker_multipattern_ready, + NULL); + rspamd_control_worker_add_cmd_handler(worker, + RSPAMD_CONTROL_REGEXP_MAP_LOADED, + rspamd_worker_regexp_map_ready, + NULL); +#endif + if (worker->index == 0) { /* Enable periodics and other stuff */ static struct rspamd_controller_periodics_cbdata cbd;