Logo ROOT   6.16/01
Reference Guide
TPosixThread.h
Go to the documentation of this file.
1// @(#)root/thread:$Id$
2// Author: Fons Rademakers 02/07/97
3
4/*************************************************************************
5 * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
6 * All rights reserved. *
7 * *
8 * For the licensing terms see $ROOTSYS/LICENSE. *
9 * For the list of contributors see $ROOTSYS/README/CREDITS. *
10 *************************************************************************/
11
12#ifndef ROOT_TPosixThread
13#define ROOT_TPosixThread
14
15
16//////////////////////////////////////////////////////////////////////////
17// //
18// TPosixThread //
19// //
20// This class provides an interface to the posix thread routines. //
21// //
22//////////////////////////////////////////////////////////////////////////
23
24#include "TThreadImp.h"
25
26#ifndef __CINT__
27#include <pthread.h>
28#endif
29
30R__EXTERN "C" unsigned int sleep(unsigned int seconds);
31
33
34
35class TPosixThread : public TThreadImp {
36
37public:
40
41 virtual Int_t Join(TThread *th, void **ret);
42 virtual Long_t SelfId();
43 virtual Int_t Run(TThread *th);
44
45 virtual Int_t Kill(TThread *th);
46 virtual Int_t SetCancelOff();
47 virtual Int_t SetCancelOn();
49 virtual Int_t SetCancelDeferred();
50 virtual Int_t CancelPoint();
51 virtual Int_t CleanUpPush(void **main, void *free,void *arg);
52 virtual Int_t CleanUpPop(void **main, Int_t exe);
53 virtual Int_t CleanUp(void **main);
54
55 virtual Int_t Exit(void *ret);
56
57 ClassDef(TPosixThread,0) // TPosixThread class
58};
59
60
62
63friend class TPosixThread;
64
65private:
66 void *fRoutine;
67 void *fArgument;
69
70public:
71 TPosixThreadCleanUp(void **main, void *routine, void *arg);
73};
74
75#endif
#define R__EXTERN
Definition: DllImport.h:27
int Int_t
Definition: RtypesCore.h:41
long Long_t
Definition: RtypesCore.h:50
#define ClassDef(name, id)
Definition: Rtypes.h:324
R__EXTERN C unsigned int sleep(unsigned int seconds)
#define free
Definition: civetweb.c:1539
TPosixThreadCleanUp(void **main, void *routine, void *arg)
cleanup function
TPosixThreadCleanUp * fNext
Definition: TPosixThread.h:68
virtual Int_t SetCancelDeferred()
Set the cancellation response type of the calling thread to deferred, i.e.
virtual Int_t SetCancelOff()
Turn off the cancellation state of the calling thread.
virtual Int_t CleanUp(void **main)
Default thread cleanup routine.
virtual Int_t Kill(TThread *th)
Cancellation is the mechanism by which a thread can terminate the execution of another thread.
virtual Int_t SetCancelOn()
Turn on the cancellation state of the calling thread.
virtual Int_t SetCancelAsynchronous()
Set the cancellation response type of the calling thread to asynchronous, i.e.
virtual Int_t CancelPoint()
Introduce an explicit cancellation point. Returns 0.
virtual Int_t Join(TThread *th, void **ret)
Join suspends the execution of the calling thread until the thread identified by th terminates,...
virtual Int_t CleanUpPush(void **main, void *free, void *arg)
Add thread cleanup function.
virtual Int_t Exit(void *ret)
Terminates the execution of the calling thread. Return 0.
virtual Long_t SelfId()
Return the thread identifier for the calling thread.
virtual Int_t Run(TThread *th)
Create a pthread.
virtual Int_t CleanUpPop(void **main, Int_t exe)
Pop thread cleanup function from stack.
int main(int argc, char **argv)