diff options
Diffstat (limited to 'src/libserver/rspamd_control.c')
-rw-r--r-- | src/libserver/rspamd_control.c | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/libserver/rspamd_control.c b/src/libserver/rspamd_control.c index c78f501f7..5d8008415 100644 --- a/src/libserver/rspamd_control.c +++ b/src/libserver/rspamd_control.c @@ -557,6 +557,7 @@ rspamd_control_default_cmd_handler (gint fd, case RSPAMD_CONTROL_RELOAD: case RSPAMD_CONTROL_RECOMPILE: case RSPAMD_CONTROL_HYPERSCAN_LOADED: + case RSPAMD_CONTROL_MONITORED_CHANGE: case RSPAMD_CONTROL_FUZZY_STAT: case RSPAMD_CONTROL_FUZZY_SYNC: case RSPAMD_CONTROL_LOG_PIPE: @@ -807,10 +808,6 @@ rspamd_srv_handler (gint fd, short what, gpointer ud) /* Broadcast command to all workers */ memset (&wcmd, 0, sizeof (wcmd)); wcmd.type = RSPAMD_CONTROL_HYPERSCAN_LOADED; - /* - * We assume that cache dir is shared at the same address for all - * workers - */ rspamd_strlcpy (wcmd.cmd.hs_loaded.cache_dir, cmd.cmd.hs_loaded.cache_dir, sizeof (wcmd.cmd.hs_loaded.cache_dir)); @@ -818,6 +815,17 @@ rspamd_srv_handler (gint fd, short what, gpointer ud) rspamd_control_broadcast_cmd (srv, &wcmd, rfd, rspamd_control_hs_io_handler, NULL); break; + case RSPAMD_SRV_MONITORED_CHANGE: + /* Broadcast command to all workers */ + memset (&wcmd, 0, sizeof (wcmd)); + wcmd.type = RSPAMD_CONTROL_MONITORED_CHANGE; + rspamd_strlcpy (wcmd.cmd.monitored_change.tag, + cmd.cmd.monitored_change.tag, + sizeof (wcmd.cmd.monitored_change.tag)); + wcmd.cmd.monitored_change.alive = cmd.cmd.monitored_change.alive; + rspamd_control_broadcast_cmd (srv, &wcmd, rfd, + rspamd_control_hs_io_handler, NULL); + break; case RSPAMD_SRV_LOG_PIPE: memset (&wcmd, 0, sizeof (wcmd)); wcmd.type = RSPAMD_CONTROL_LOG_PIPE; |