HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UT_Condition Class Reference

Condition synchronization primitive. More...

#include <UT_Condition.h>

Public Member Functions

 UT_Condition ()
 
 ~UT_Condition ()
 
template<typename Predicate >
void wait (UT_Lock &lock, const Predicate &pred)
 
void waitForTrigger (UT_Lock &lock)
 
bool waitForTriggerMS (UT_Lock &lock, int64 timeout_msec)
 
void triggerAll ()
 
void triggerOne ()
 
 UT_Condition (const UT_Condition &copy)=delete
 
UT_Conditionoperator= (const UT_Condition &copy)=delete
 

Detailed Description

Condition synchronization primitive.

Definition at line 25 of file UT_Condition.h.

Constructor & Destructor Documentation

UT_Condition::UT_Condition ( )
UT_Condition::~UT_Condition ( )
UT_Condition::UT_Condition ( const UT_Condition copy)
delete

Member Function Documentation

UT_Condition& UT_Condition::operator= ( const UT_Condition copy)
delete
void UT_Condition::triggerAll ( )

Trigger all waiting threads.

Note
The caller should hold the same lock that was passed to waitForTrigger() if precise scheduling of events is desired.
void UT_Condition::triggerOne ( )

Trigger one waiting thread.

Note
The caller should hold the same lock that was passed to waitForTrigger() if precise scheduling of events is desired.
template<typename Predicate >
void UT_Condition::wait ( UT_Lock lock,
const Predicate &  pred 
)
inline

Block until we're triggered.

The lock must be held when this method is called. Will return when the predicate evaluates to true, with the lock acquired. Internally will release the lock and wait for triggers before retesting the predicate.

Definition at line 38 of file UT_Condition.h.

void UT_Condition::waitForTrigger ( UT_Lock lock)

The lock must be held when this method is called it will be released when waiting for the trigger and re-acquired when this method returns.

bool UT_Condition::waitForTriggerMS ( UT_Lock lock,
int64  timeout_msec 
)

Wait with a timeout, returns true if the lock was re-acquired. False means a timeout occurred.


The documentation for this class was generated from the following file: