generate --event-trace output explicitly rather than in EventTraceMgr destructor

This commit is contained in:
Vern Paxson 2025-05-15 12:39:18 -07:00
parent da689f1835
commit 9e5b87786d
3 changed files with 7 additions and 2 deletions

View file

@ -958,7 +958,7 @@ EventTraceMgr::EventTraceMgr(const std::string& trace_file) {
reporter->FatalError("can't open event trace file %s", trace_file.c_str());
}
EventTraceMgr::~EventTraceMgr() {
void EventTraceMgr::Generate() {
if ( events.empty() )
return;

View file

@ -440,7 +440,9 @@ private:
class EventTraceMgr {
public:
EventTraceMgr(const std::string& trace_file);
~EventTraceMgr();
// Generates the trace upon exit.
void Generate();
// Called at the beginning of invoking an event's handlers.
void StartEvent(const ScriptFunc* ev, const zeek::Args* args);

View file

@ -399,6 +399,9 @@ static void terminate_zeek() {
script_coverage_mgr.WriteStats();
if ( etm )
etm->Generate();
delete zeekygen_mgr;
delete packet_mgr;
delete analyzer_mgr;