FileAnalysis: insert explicit event queue flush points.

And added an event called "event_queue_flush_point" to mark where that
occured in the event stream.  The FAF now uses an explicit event queue
flush instead of buffering input in order to wait for a file handle to
be returned from script-layer.
This commit is contained in:
Jon Siwek 2013-04-10 16:48:10 -05:00
parent d9321e2203
commit 2747e839fb
15 changed files with 128 additions and 382 deletions

View file

@ -6,7 +6,6 @@
#include "Func.h"
#include "NetVar.h"
#include "Trigger.h"
#include "file_analysis/Manager.h"
EventMgr mgr;
@ -111,6 +110,9 @@ void EventMgr::Dispatch()
void EventMgr::Drain()
{
if ( event_queue_flush_point )
QueueEvent(event_queue_flush_point, new val_list());
SegmentProfiler(segment_logger, "draining-events");
draining = true;
@ -125,8 +127,6 @@ void EventMgr::Drain()
// processing, we ensure that it's done at a regular basis by checking
// them here.
Trigger::EvaluatePending();
file_mgr->EventDrainDone();
}
void EventMgr::Describe(ODesc* d) const