16 #include "TCondition.h"
17 #include "TApplication.h"
30 :TTimer(msperiod,mode),
32 fbApplicationRun(kFALSE)
34 GO4TRACE((15,
"TGo4AppControlTimer::TGo4AppControlTimer(TGo4ThreadManager*, Long_t, Bool_t) ctor",__LINE__, __FILE__));
42 GO4TRACE((15,
"TGo4AppControlTimer::~TGo4AppControlTimer() dtor",__LINE__, __FILE__));
58 TGo4Log::Error(
"TGo4AppControlTimer::Notify () NEVER COME HERE!!!");
59 TGo4Log::Error(
"TGo4AppControlTimer::Notify () with zero threadmanager!!!");
66 GO4TRACE((11,
"TGo4AppControlTimer: Successful Initialization",__LINE__, __FILE__));
70 GO4TRACE((11,
"TGo4AppControlTimer: Application shall be blocked!",__LINE__, __FILE__));
75 GO4TRACE((10,
"TGo4AppControlTimer: blocking ROOT gSystem!",__LINE__, __FILE__));
76 TGo4Log::Debug(
" Application Control Timer -- Blocking ROOT gSystem!! ");
78 TGo4Log::Debug(
" Application Control Timer -- Releasing ROOT gSystem!! ");
83 GO4TRACE((10,
"TGo4AppControlTimer: no TThread existing, not blocking !",__LINE__, __FILE__));
89 GO4TRACE((11,
"TGo4AppControlTimer: Application shall not be blocked!",__LINE__, __FILE__));
95 GO4TRACE((11,
"TGo4AppControlTimer: Terminating mode",__LINE__, __FILE__));
99 TGo4Log::Debug(
" Application Control Timer -- waiting for Runnables to stop... ");
104 TGo4Log::Debug(
" Application Control Timer -- deleting TGo4ThreadManager! ");
111 TGo4Log::Debug(
" Application Control Timer -- Terminating Application now! Goodbye...");
112 gApplication->Terminate(0);
116 TGo4Log::Debug(
" Application Control Timer -- Finished Threadmanager deletion, killing myself now...");
124 GO4TRACE((11,
"TGo4AppControlTimer: Resetting for new cycle",__LINE__, __FILE__));
132 GO4TRACE((11,
"TGo4AppControlTimer: Initialization failed",__LINE__, __FILE__));
133 TGo4Log::Debug(
" Application Control Timer -- ThreadManager Init not successful, retrying! ");
142 GO4TRACE((12,
"TGo4AppControlTimer::GetApplicationRun ()",__LINE__, __FILE__));
virtual Int_t Initialization()
virtual ~TGo4AppControlTimer()
Bool_t IsTerminateApp() const
static UInt_t fguTERMWAIT
static Int_t fgiTERMWAITCYCLES
TGo4ThreadManager * fxManager
Bool_t GetApplicationRun()
TGo4ThreadHandler * GetWorkHandler() const
Bool_t IsTerminating() const
static void Error(const char *text,...)
static void Debug(const char *text,...)