bool do_execute()
{
Report.Debug (DebugFlags.SSE, "{0} managed callback execute start: {1}", sse, CallbackFunctions.Count);
while (CallbackFunctions.Count > 0) {
current_callback = CallbackFunctions.Dequeue ();
Report.Debug (DebugFlags.SSE, "{0} managed callback execute: {1}",
sse, current_callback.Func);
current_callback.Running = true;
bool running = current_callback.Func (sse);
Report.Debug (DebugFlags.SSE, "{0} managed callback execute done: {1} {2}",
sse, current_callback.Func, running);
if (running)
return true;
current_callback.Completed = true;
current_callback.Result.Completed ();
}
return false;
}