From 4c1c13d1100feb6dc44d0f72f62f9e7b793928b9 Mon Sep 17 00:00:00 2001 From: Victor Julien Date: Tue, 12 Apr 2016 08:21:13 +0200 Subject: [PATCH] detect reload: improve signal logic --- src/suricata.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/suricata.c b/src/suricata.c index 7311561345..68736961f7 100644 --- a/src/suricata.c +++ b/src/suricata.c @@ -2476,14 +2476,21 @@ int main(int argc, char **argv) if (suri.sig_file != NULL) { SCLogWarning(SC_ERR_LIVE_RULE_SWAP, "Live rule reload not " "possible if -s or -S option used at runtime."); + sigusr2_count--; } else { - DetectEngineReload(conf_filename, &suri); + if (!(DetectEngineReloadIsStart())) { + DetectEngineReloadStart(); + DetectEngineReload(conf_filename, &suri); + DetectEngineReloadSetDone(); + sigusr2_count--; + } } - sigusr2_count--; + } else if (DetectEngineReloadIsStart()) { if (suri.sig_file != NULL) { SCLogWarning(SC_ERR_LIVE_RULE_SWAP, "Live rule reload not " "possible if -s or -S option used at runtime."); + DetectEngineReloadSetDone(); } else { DetectEngineReload(conf_filename, &suri); DetectEngineReloadSetDone(); -- 2.47.2