|
|
@ -2529,8 +2529,7 @@ static void PostRunStartedDetectSetup(const SCInstance *suri)
|
|
|
|
/* registering signal handlers we use. We setup usr2 here, so that one
|
|
|
|
/* registering signal handlers we use. We setup usr2 here, so that one
|
|
|
|
* can't call it during the first sig load phase or while threads are still
|
|
|
|
* can't call it during the first sig load phase or while threads are still
|
|
|
|
* starting up. */
|
|
|
|
* starting up. */
|
|
|
|
if (DetectEngineEnabled() && suri->sig_file == NULL &&
|
|
|
|
if (DetectEngineEnabled() && suri->delayed_detect == 0) {
|
|
|
|
suri->delayed_detect == 0) {
|
|
|
|
|
|
|
|
UtilSignalHandlerSetup(SIGUSR2, SignalHandlerSigusr2);
|
|
|
|
UtilSignalHandlerSetup(SIGUSR2, SignalHandlerSigusr2);
|
|
|
|
UtilSignalUnblock(SIGUSR2);
|
|
|
|
UtilSignalUnblock(SIGUSR2);
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -2860,29 +2859,17 @@ static void SuricataMainLoop(SCInstance *suri)
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if (sigusr2_count > 0) {
|
|
|
|
if (sigusr2_count > 0) {
|
|
|
|
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 {
|
|
|
|
|
|
|
|
if (!(DetectEngineReloadIsStart())) {
|
|
|
|
if (!(DetectEngineReloadIsStart())) {
|
|
|
|
DetectEngineReloadStart();
|
|
|
|
DetectEngineReloadStart();
|
|
|
|
DetectEngineReload(suri);
|
|
|
|
DetectEngineReload(suri);
|
|
|
|
DetectEngineReloadSetIdle();
|
|
|
|
DetectEngineReloadSetIdle();
|
|
|
|
sigusr2_count--;
|
|
|
|
sigusr2_count--;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} else if (DetectEngineReloadIsStart()) {
|
|
|
|
} 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.");
|
|
|
|
|
|
|
|
DetectEngineReloadSetIdle();
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
DetectEngineReload(suri);
|
|
|
|
DetectEngineReload(suri);
|
|
|
|
DetectEngineReloadSetIdle();
|
|
|
|
DetectEngineReloadSetIdle();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
usleep(10* 1000);
|
|
|
|
usleep(10* 1000);
|
|
|
|
}
|
|
|
|
}
|
|
|
|