#include <TGo4CintLockTimer.h>
Public Member Functions | |
TGo4CintLockTimer (TGo4AnalysisClient *parent, Long_t msperiod=3000, Bool_t mode=kTRUE) | |
virtual | ~TGo4CintLockTimer () |
virtual Bool_t | Notify () |
Private Attributes | |
Bool_t | fbHaveLock |
TGo4AnalysisClient * | fxParent |
Static Private Attributes | |
static UInt_t | fguTHREADTIME = 50 |
This timer is used to protect the Go4 threads against the CINT main application when go4 is running as cint server. Go4 thread activities that acquire the Go4 main mutex are only allowed within a small time window inside the Notify of this timer. Besides this, the root application will hold the main mutex completely, thus avoiding go4 threads to interfere with root system. Note: this mechanism is the complement to the threadmanager application blocking mode, meant to block the root application and allow the threads everything.
Definition at line 38 of file TGo4CintLockTimer.h.
TGo4CintLockTimer::TGo4CintLockTimer | ( | TGo4AnalysisClient * | parent, | |
Long_t | msperiod = 3000 , |
|||
Bool_t | mode = kTRUE | |||
) |
Definition at line 24 of file TGo4CintLockTimer.cxx.
TGo4CintLockTimer::~TGo4CintLockTimer | ( | ) | [virtual] |
Definition at line 29 of file TGo4CintLockTimer.cxx.
References fbHaveLock, fxParent, and TGo4AnalysisClient::UnLockAll().
Bool_t TGo4CintLockTimer::Notify | ( | ) | [virtual] |
Routine called from TTimer on timeout
Definition at line 34 of file TGo4CintLockTimer.cxx.
References fbHaveLock, fguTHREADTIME, fxParent, TGo4AnalysisClient::LockAll(), and TGo4AnalysisClient::UnLockAll().
Bool_t TGo4CintLockTimer::fbHaveLock [private] |
True if this timer has locked the main mutex
Definition at line 60 of file TGo4CintLockTimer.h.
Referenced by Notify(), and ~TGo4CintLockTimer().
UInt_t TGo4CintLockTimer::fguTHREADTIME = 50 [static, private] |
Time window in ms between unlock of mutex and the next request in this timer notify. May be used for tuning application performance.
Definition at line 57 of file TGo4CintLockTimer.h.
Referenced by Notify().
TGo4AnalysisClient* TGo4CintLockTimer::fxParent [private] |
Definition at line 62 of file TGo4CintLockTimer.h.
Referenced by Notify(), and ~TGo4CintLockTimer().