xmltooling::CondWait Class Referenceabstract

A class for establishing queues on a mutex based on a periodic condition. More...

`#include <xmltooling/util/Threads.h>`

## Public Member Functions

virtual int | wait (Mutex *lock)=0
| Waits for a condition variable using the supplied mutex as a queue.
virtual int | timedwait (Mutex *lock, long delay_seconds)=0
| Waits for a condition variable using the supplied mutex as a queue, but only for a certain time limit.
virtual int | signal ()=0
| Signal a single thread to wake up if a condition changes.
virtual int | broadcast ()=0
| Signal all threads to wake up if a condition changes.

## Static Public Member Functions

static CondWait * | create ()
| Creates a new condition variable.

## Detailed Description

A class for establishing queues on a mutex based on a periodic condition.

## Member Function Documentation

## broadcast()

virtual int xmltooling::CondWait::broadcast | ( |  | ) |

pure virtual

Signal all threads to wake up if a condition changes.

Returns
  0 for success, non-zero for failure

## create()

CondWait * xmltooling::CondWait::create | ( |  | ) |

static

Creates a new condition variable.

Returns
  the new condition variable

## signal()

virtual int xmltooling::CondWait::signal | ( |  | ) |

pure virtual

Signal a single thread to wake up if a condition changes.

Returns
  0 for success, non-zero for failure

## timedwait()

virtual int xmltooling::CondWait::timedwait | ( | Mutex * | lock,
|  | long | delay_seconds )

pure virtual

Waits for a condition variable using the supplied mutex as a queue, but only for a certain time limit.

Parameters

  lock | mutex to queue on
  delay_seconds | maximum time to wait before waking up

Returns
  0 for success, non-zero for failure

## wait()

virtual int xmltooling::CondWait::wait | ( | Mutex * | lock | ) |

pure virtual

Waits for a condition variable using the supplied mutex as a queue.

Parameters

  lock | mutex to queue on

Returns
  0 for success, non-zero for failure

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

- xmltooling/util/Threads.h