Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

TGo4CintLockTimer Class Reference

This timer is used to protect the Go4 threads against the CINT main application when go4 is running as cint server. More...

#include <TGo4CintLockTimer.h>

List of all members.

Public Member Functions

 TGo4CintLockTimer (TGo4AnalysisClient *parent, Long_t msperiod=3000, Bool_t mode=kTRUE)
virtual ~TGo4CintLockTimer ()
virtual Bool_t Notify ()
 Routine called from TTimer on timeout.

Private Attributes

Bool_t fbHaveLock
 True if this timer has locked the main mutex.
TGo4AnalysisClientfxParent

Static Private Attributes

static UInt_t fguTHREADTIME = 50
 Time window in ms between unlock of mutex and the next request in this timer notify.


Detailed Description

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.

Author:
J. Adamczewski
Since:
12/5/2005

Definition at line 40 of file TGo4CintLockTimer.h.


Constructor & Destructor Documentation

TGo4CintLockTimer::TGo4CintLockTimer TGo4AnalysisClient parent,
Long_t  msperiod = 3000,
Bool_t  mode = kTRUE
 

Definition at line 28 of file TGo4CintLockTimer.cxx.

TGo4CintLockTimer::~TGo4CintLockTimer  )  [virtual]
 

Definition at line 33 of file TGo4CintLockTimer.cxx.

References fbHaveLock, fxParent, and TGo4AnalysisClient::UnLockAll().


Member Function Documentation

Bool_t TGo4CintLockTimer::Notify  )  [virtual]
 

Routine called from TTimer on timeout.

Definition at line 38 of file TGo4CintLockTimer.cxx.

References fbHaveLock, fguTHREADTIME, fxParent, TGo4AnalysisClient::LockAll(), and TGo4AnalysisClient::UnLockAll().


Member Data Documentation

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 26 of file TGo4CintLockTimer.cxx.

Referenced by Notify().

Bool_t TGo4CintLockTimer::fbHaveLock [private]
 

True if this timer has locked the main mutex.

Definition at line 62 of file TGo4CintLockTimer.h.

Referenced by Notify(), and ~TGo4CintLockTimer().

TGo4AnalysisClient* TGo4CintLockTimer::fxParent [private]
 

Definition at line 64 of file TGo4CintLockTimer.h.

Referenced by Notify(), and ~TGo4CintLockTimer().


The documentation for this class was generated from the following files:
Generated on Fri Nov 28 13:00:33 2008 for Go4-v3.04-1 by  doxygen 1.4.2