From: Victor Julien Date: Tue, 12 Apr 2016 06:21:13 +0000 (+0200) Subject: detect reload: improve signal logic X-Git-Tag: suricata-3.1RC1~269 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4c1c13d1100feb6dc44d0f72f62f9e7b793928b9;p=thirdparty%2Fsuricata.git detect reload: improve signal logic --- 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();