Logo ROOT  
Reference Guide
TPosixCondition.h
Go to the documentation of this file.
1// @(#)root/thread:$Id$
2// Author: Fons Rademakers 01/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_TPosixCondition
13#define ROOT_TPosixCondition
14
15
16//////////////////////////////////////////////////////////////////////////
17// //
18// TPosixCondition //
19// //
20// This class provides an interface to the posix condition variable //
21// routines. //
22// //
23//////////////////////////////////////////////////////////////////////////
24
25#include "TConditionImp.h"
26
27#ifndef __CINT__
28#include <pthread.h>
29#else
30struct pthread_cond_t;
31#endif
32
33class TMutexImp;
34class TPosixMutex;
35
36
38
39private:
40 pthread_cond_t fCond; // the pthread condition variable
41 TPosixMutex *fMutex; // mutex used around Wait() and TimedWait()
42
43public:
45 virtual ~TPosixCondition();
46
47 Int_t Wait() override;
48 Int_t TimedWait(ULong_t secs, ULong_t nanoSecs = 0) override;
49 Int_t Signal() override;
50 Int_t Broadcast() override;
51
52 ClassDefOverride(TPosixCondition,0) // Posix condition variable
53};
54
55#endif
unsigned long ULong_t
Definition: RtypesCore.h:55
#define ClassDefOverride(name, id)
Definition: Rtypes.h:339
virtual ~TPosixCondition()
TCondition dtor.
Int_t Wait() override
Wait for the condition variable to be signalled.
Int_t Signal() override
If one or more threads have called Wait(), Signal() wakes up at least one of them,...
TPosixCondition(TMutexImp *m)
Create Condition variable.
pthread_cond_t fCond
Int_t TimedWait(ULong_t secs, ULong_t nanoSecs=0) override
TimedWait() is given an absolute time to wait until.
Int_t Broadcast() override
Broadcast is like signal but wakes all threads which have called Wait().
TPosixMutex * fMutex
auto * m
Definition: textangle.C:8