Workaround for Gaudi::Application not popping the output queue
At the moment nobody pops from the async scheduler queue, so it grows infinitely (which is obv. bad). This fixes that by pop
ing from the queue.
This is just a temporary "fix" (eg for the throughput nightlies), and this MR will be closed as soon as the Gaudi::Application
does the popping for us. The issue is that we run the multithreaded Gaudi using a main that is not aware of multithreaded applications, i.e. we call Gaudi::Application::run()
which calls HLTControlFlowMgr::executeRun()
. While we should call something that calls HLTControlFlowMgr::push(...)
and HLTControlFlowMgr::pop()
.
Since HLTControlFlowMgr::executeRun()
is itself calling HLTControlFlowMgr::push(...)
, an easy work around is to add HLTControlFlowMgr::pop()
there, but we need to think about a way of moving the push
/pop
up into a Gaudi::Application
.