Make TimerMgr an IOSource

- This allows the loop to check what the next timeout is and use that as the basis for the timeout of the poll
- This commit also removes the TimerMgr::Tag type, since it causes a name clash with other code in IOSource
This commit is contained in:
Tim Wojtulewicz 2019-11-26 12:37:22 -07:00
parent 4fa3e4b9b4
commit 92bde61b78
7 changed files with 101 additions and 39 deletions

View file

@ -294,12 +294,10 @@ void terminate_bro()
plugin_mgr->FinishPlugins();
delete zeekygen_mgr;
delete timer_mgr;
delete event_registry;
delete analyzer_mgr;
delete file_mgr;
// broker_mgr is deleted via iosource_mgr
// supervisor is deleted via iosource_mgr
// broker_mgr, timer_mgr, and supervisor are deleted via iosource_mgr
delete iosource_mgr;
delete log_mgr;
delete reporter;
@ -550,7 +548,6 @@ int main(int argc, char** argv)
#endif
timer_mgr = new PQ_TimerMgr("<GLOBAL>");
// timer_mgr = new CQ_TimerMgr();
auto zeekygen_cfg = options.zeekygen_config_file.value_or("");
zeekygen_mgr = new zeekygen::Manager(zeekygen_cfg, bro_argv[0]);
@ -671,6 +668,7 @@ int main(int argc, char** argv)
plugin_mgr->InitPostScript();
zeekygen_mgr->InitPostScript();
broker_mgr->InitPostScript();
timer_mgr->InitPostScript();
if ( options.print_plugins )
{