16 #include "TCondition.h"
17 #include "TApplication.h"
29 :TTimer(msperiod,mode),
31 fbApplicationRun(kFALSE)
33 GO4TRACE((15,
"TGo4AppControlTimer::TGo4AppControlTimer(TGo4ThreadManager*, Long_t, Bool_t) ctor",__LINE__, __FILE__));
41 GO4TRACE((15,
"TGo4AppControlTimer::~TGo4AppControlTimer() dtor",__LINE__, __FILE__));
57 TGo4Log::Error(
"TGo4AppControlTimer::Notify () NEVER COME HERE!!!");
58 TGo4Log::Error(
"TGo4AppControlTimer::Notify () with zero threadmanager!!!");
65 GO4TRACE((11,
"TGo4AppControlTimer: Successful Initialization",__LINE__, __FILE__));
69 GO4TRACE((11,
"TGo4AppControlTimer: Application shall be blocked!",__LINE__, __FILE__));
74 GO4TRACE((10,
"TGo4AppControlTimer: blocking ROOT gSystem!",__LINE__, __FILE__));
75 TGo4Log::Debug(
" Application Control Timer -- Blocking ROOT gSystem!! ");
77 TGo4Log::Debug(
" Application Control Timer -- Releasing ROOT gSystem!! ");
82 GO4TRACE((10,
"TGo4AppControlTimer: no TThread existing, not blocking !",__LINE__, __FILE__));
88 GO4TRACE((11,
"TGo4AppControlTimer: Application shall not be blocked!",__LINE__, __FILE__));
94 GO4TRACE((11,
"TGo4AppControlTimer: Terminating mode",__LINE__, __FILE__));
98 TGo4Log::Debug(
" Application Control Timer -- waiting for Runnables to stop... ");
103 TGo4Log::Debug(
" Application Control Timer -- deleting TGo4ThreadManager! ");
110 TGo4Log::Debug(
" Application Control Timer -- Terminating Application now! Goodbye...");
111 gApplication->Terminate(0);
115 TGo4Log::Debug(
" Application Control Timer -- Finished Threadmanager deletion, killing myself now...");
123 GO4TRACE((11,
"TGo4AppControlTimer: Resetting for new cycle",__LINE__, __FILE__));
131 GO4TRACE((11,
"TGo4AppControlTimer: Initialization failed",__LINE__, __FILE__));
132 TGo4Log::Debug(
" Application Control Timer -- ThreadManager Init not successful, retrying! ");
141 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,...)