33 #ifndef ROOT_TCondition
61 typedef void *(*VoidRtnFunc_t)(
void *);
113 { fComment[0] = 0;
if (txt) { strncpy(fComment, txt, 99); fComment[99] = 0; } }
114 void DoError(
Int_t level,
const char *location,
const char *fmt, va_list va)
const;
115 void ErrorHandler(
int level,
const char *location,
const char *fmt, va_list ap)
const;
163 static void **
Tsd(
void *dflt,
Int_t k);
182 static void Printf(
const char *fmt, ...)
183 #if defined(__GNUC__) && !defined(__CINT__)
static void ** GetTls(Int_t k)
Static method that initializes the TLS array of a thread and returns the reference to a given positio...
static void AfterCancel(TThread *th)
Static method which is called after the thread has been canceled.
static Int_t SetCancelDeferred()
Static method to set the cancellation response type of the calling thread to deferred, i.e.
void *(* VoidRtnFunc_t)(void *)
static Bool_t IsInitialized()
Return true, if the TThread objects have been initialize.
TThread & operator=(const TThread &)
static void XAction()
Static method called via the thread timer to execute in the main thread certain commands.
static TCondition * fgXActCondi
void ErrorHandler(int level, const char *location, const char *fmt, va_list ap) const
Thread specific error handler function.
friend class TThreadTearDownGuard
static void Initialize()
Initialize the Thread package.
void Constructor()
Common thread constructor.
static Int_t SetCancelOff()
Static method to turn off thread cancellation.
EPriority GetPriority() const
static void Printf(const char *fmt,...)
Static method providing a thread safe printf. Appends a newline.
static Int_t SetCancelOn()
Static method to turn on thread cancellation.
static TThreadImp * fgThreadImp
static Int_t TryLock()
Static method to try to lock the main thread mutex.
static std::string format(double x, double y, int digits, int width)
static Int_t CleanUpPop(Int_t exe=0)
Static method which pops thread cleanup method off stack.
static volatile Int_t fgXArt
static Int_t SetCancelAsynchronous()
Static method to set the cancellation response type of the calling thread to asynchronous, i.e.
#define ClassDef(name, id)
Vc_ALWAYS_INLINE void free(T *p)
Frees memory that was allocated with Vc::malloc.
void SetComment(const char *txt=0)
The TNamed class is the base class for all named ROOT classes.
~TThreadCleaner()
Call user clean up routines.
static Int_t XARequest(const char *xact, Int_t nb, void **ar, Int_t *iret)
Static method used to allow commands to be executed by the main thread.
static Long_t SelfId()
Static method returning the id for the current thread.
void DoError(Int_t level, const char *location, const char *fmt, va_list va) const
Interface to ErrorHandler.
Int_t Run(void *arg=0)
Start the thread.
virtual ~TThread()
Cleanup the thread.
virtual void Delete(Option_t *option="")
Delete this object.
static TThread * GetThread(Long_t id)
Static method to find a thread by id.
static TMutex * fgMainMutex
static Int_t Exists()
Static method to check if threads exist.
static void Init()
Initialize global state and variables once.
static char *volatile fgXAct
Handles synchronous and a-synchronous timer events.
static Int_t CleanUpPush(void *free, void *arg=0)
Static method which pushes thread cleanup method on stack.
static Int_t CancelPoint()
Static method to set a cancellation point.
Long_t Join(void **ret=0)
Join this thread.
Int_t Kill()
Kill this thread.
static Int_t Lock()
Static method to lock the main thread mutex.
static void Ps()
Static method listing the existing threads.
static TMutex * fgXActMutex
Bool_t Notify()
Periodically execute the TThread::XAxtion() method in the main thread.
static void **volatile fgXArr
static Int_t CleanUp()
Static method to cleanup the calling thread.
static void ** Tsd(void *dflt, Int_t k)
Static method returning a pointer to thread specific data container of the calling thread...
static Int_t UnLock()
Static method to unlock the main thread mutex.
static TThread * Self()
Static method returning pointer to current thread.
TThreadTimer(Long_t ms=kItimerResolution+10)
Create thread timer.
ClassImp(TMCParticle) void TMCParticle printf(": p=(%7.3f,%7.3f,%9.3f) ;", fPx, fPy, fPz)
void SetPriority(EPriority pri)
Set thread priority.
static Int_t GetTime(ULong_t *absSec, ULong_t *absNanoSec)
Static method to get the current time.
typedef void((*Func_t)())
static Int_t Exit(void *ret=0)
Static method which terminates the execution of the calling thread.
void(* VoidFunc_t)(void *)
static Int_t Sleep(ULong_t secs, ULong_t nanos=0)
Static method to sleep the calling thread.
static void * Function(void *ptr)
Static method which is called by the system thread function and which in turn calls the actual user f...
static volatile Int_t fgXAnb
void Delete(Option_t *option="")
Delete this object.