ROOT logo
Gled » GLEDCORE » Mountain

class Mountain

Function Members (Methods)

public:
Mountain(Saturn* s)
Mountain(const Mountain&)
virtual~Mountain()
voidCancel(Eventor* e)
static TClass*Class()
voidConsiderSuspend(DancerInfo* di)
static void*DancerBeat(DancerInfo* di)
static voidDancerCooler(DancerInfo* di)
Saturn*GetSaturn()
virtual TClass*IsA() const
Mountain&operator=(const Mountain&)
voidResume(Eventor* e)
voidResumeAll()
virtual voidShowMembers(TMemberInspector& insp)
voidShutdown()
voidStart(Eventor* e, bool suspend_immediately = false)
voidStop(Eventor* e)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
voidSuspend(Eventor* e)
Int_tSuspendAll()
DancerInfo*UnregisterThread(Eventor* e)
voidWipeThread(Eventor* e)
protected:
voidstop_thread(DancerInfo* di)

Data Members

protected:
Saturn*mSaturnX{g}
private:
boolbInSuspend
GMutexhStageLock
GConditionhSuspendCond
UInt_thSuspendCount

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

void DancerCooler(DancerInfo* di)
void* DancerBeat(DancerInfo* di)
void Start(Eventor* e, bool suspend_immediately = false)
void stop_thread(DancerInfo* di)
void Stop(Eventor* e)
void Suspend(Eventor* e)
void Resume(Eventor* e)
void Cancel(Eventor* e)
DancerInfo* UnregisterThread(Eventor* e)
void WipeThread(Eventor* e)
Int_t SuspendAll()
 Tries to suspend all operators ...
 fails miserably if some threads have longer periods ... should timeout!!!!

 Also ... this is not entirely appropriate.
 Should have per-queen list of threads ... ie dancers.
 For each of them should also know in what way it affects other structures.
void ResumeAll()
void ConsiderSuspend(DancerInfo* di)
 Called from each DancerBeat ... like offering the mountain to suspend it
void Shutdown()
 Called from Saturn on shutdown. Kills all threads.
Mountain(Saturn* s)
{ bInSuspend = false; }
virtual ~Mountain()
{}