From: Russ Combs (rucombs) Date: Fri, 26 Oct 2018 18:26:25 +0000 (-0400) Subject: Merge pull request #1399 in SNORT/snort3 from ring_o_stress to master X-Git-Tag: 3.0.0-249~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=537c15a8b68f121cfca9c4983307344e5a55f8e7;p=thirdparty%2Fsnort3.git Merge pull request #1399 in SNORT/snort3 from ring_o_stress to master Squashed commit of the following: commit f7f5d5982a329066406bc46b450a53068fd4bcd0 Author: Russ Combs Date: Mon Oct 22 11:50:40 2018 -0400 main: size analyzer notification ring appropriately --- diff --git a/src/main.cc b/src/main.cc index 2cf57b794..cbe6bc0a9 100644 --- a/src/main.cc +++ b/src/main.cc @@ -887,7 +887,10 @@ static void snort_main() max_pigs = ThreadConfig::get_instance_max(); assert(max_pigs > 0); - pig_poke = new Ring(max_pigs+2); + // maximum number of state change notifications per pig + constexpr unsigned max_grunts = static_cast(Analyzer::State::NUM_STATES); + + pig_poke = new Ring((max_pigs*max_grunts)+1); pigs = new Pig[max_pigs]; for (unsigned idx = 0; idx < max_pigs; idx++) diff --git a/src/main/analyzer.cc b/src/main/analyzer.cc index 567836e42..253248a21 100644 --- a/src/main/analyzer.cc +++ b/src/main/analyzer.cc @@ -66,6 +66,7 @@ const char* Analyzer::get_state_string() case State::RUNNING: return "RUNNING"; case State::PAUSED: return "PAUSED"; case State::STOPPED: return "STOPPED"; + default: assert(false); } return "UNKNOWN"; diff --git a/src/main/analyzer.h b/src/main/analyzer.h index 8e251cc42..c7fee7636 100644 --- a/src/main/analyzer.h +++ b/src/main/analyzer.h @@ -46,7 +46,8 @@ public: STARTED, RUNNING, PAUSED, - STOPPED + STOPPED, + NUM_STATES }; Analyzer(unsigned id, const char* source); diff --git a/src/main/analyzer_command.h b/src/main/analyzer_command.h index a069291b2..bd990270e 100644 --- a/src/main/analyzer_command.h +++ b/src/main/analyzer_command.h @@ -113,7 +113,8 @@ public: namespace snort { -SO_PUBLIC void main_broadcast_command(AnalyzerCommand* ac, bool from_shell = false); // From main.cc +// from main.cc +SO_PUBLIC void main_broadcast_command(AnalyzerCommand* ac, bool from_shell = false); } #endif