Qore Programming Language: QoreCondition Class Reference

Qore Programming Language 0.8.11

- Main Page
- Related Pages
- Modules
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Public Member Functions | List of all members
QoreCondition Class Reference

a thread condition class implementing a wrapper for pthread_cond_t More...

`#include <QoreCondition.h>`

## Public Member Functions
DLLEXPORT | QoreCondition ()
| creates the condition object
DLLEXPORT | ~QoreCondition ()
| destroys the condition object
DLLEXPORT int | broadcast ()
| singles all threads blocked on this condition to wake up
DLLEXPORT int | signal ()
| signals a single waiting thread to wake up
DLLEXPORT int | wait (pthread_mutex_t *m)
| blocks a thread on a mutex until the condition is signaled More...
DLLEXPORT int | wait (pthread_mutex_t *m, int timeout_ms)
| blocks a thread on a mutex for a certain number of milliseconds until the condition is signaled More...
DLLLOCAL int | wait (QoreThreadLock *l)
| blocks a thread on a lock until the condition is signaled More...
DLLLOCAL int | wait (QoreThreadLock *l, int timeout_ms)
| blocks a thread on a lock for a certain number of milliseconds until the condition is signaled More...
DLLLOCAL int | wait (QoreThreadLock &l)
| blocks a thread on a lock until the condition is signaled More...
DLLLOCAL int | wait (QoreThreadLock &l, int timeout_ms)
| blocks a thread on a lock for a certain number of milliseconds until the condition is signaled More...
DLLEXPORT int | wait2 (pthread_mutex_t *m, int64 timeout_ms)
| blocks a thread on a mutex for a certain number of milliseconds until the condition is signaled More...
DLLLOCAL int | wait2 (QoreThreadLock *l, int64 timeout_ms)
| blocks a thread on a lock for a certain number of milliseconds until the condition is signaled More...
DLLLOCAL int | wait2 (QoreThreadLock &l, int64 timeout_ms)
| blocks a thread on a lock for a certain number of milliseconds until the condition is signaled More...

## Detailed Description

a thread condition class implementing a wrapper for pthread_cond_t

all threads that block on a given QoreCondition object should use the same mutex or QoreThreadLock object for blocking

See Also
  QoreThreadLock

## Member Function Documentation

DLLEXPORT int QoreCondition::wait | ( | pthread_mutex_t * | m | ) |

blocks a thread on a mutex until the condition is signaled

Parameters

  m | the mutex to wait on

Returns
  0 for success, non-zero for error

Referenced by wait().

DLLEXPORT int QoreCondition::wait | ( | pthread_mutex_t * | m,
|  | int | timeout_ms
| ) |  |

blocks a thread on a mutex for a certain number of milliseconds until the condition is signaled

Parameters

  m | the mutext to wait on
  timeout_ms | the timeout value is milliseconds

Returns
  a non-zero return value indicates a timeout occured

Deprecated:
  use wait2(pthread_mutex_t*, int64) instead

DLLLOCAL int QoreCondition::wait | ( | QoreThreadLock * | l | ) |
| inline

blocks a thread on a lock until the condition is signaled

Parameters

  l | the QoreThreadLock to wait on

Returns
  0 for success, non-zero for error

References wait().

DLLLOCAL int QoreCondition::wait | ( | QoreThreadLock * | l,
|  | int | timeout_ms
| ) |  |
| inline

blocks a thread on a lock for a certain number of milliseconds until the condition is signaled

Parameters

  l | the QoreThreadLock to wait on
  timeout_ms | the timeout value is milliseconds

Returns
  a non-zero return value indicates a timeout occured

Deprecated:
  use wait2(QoreThreadLock*, int64) instead

References wait().

DLLLOCAL int QoreCondition::wait | ( | QoreThreadLock & | l | ) |
| inline

blocks a thread on a lock until the condition is signaled

Parameters

  l | the QoreThreadLock to wait on

Returns
  0 for success, non-zero for error

References wait().

DLLLOCAL int QoreCondition::wait | ( | QoreThreadLock & | l,
|  | int | timeout_ms
| ) |  |
| inline

blocks a thread on a lock for a certain number of milliseconds until the condition is signaled

Parameters

  l | the QoreThreadLock to wait on
  timeout_ms | the timeout value is milliseconds

Returns
  a non-zero return value indicates a timeout occured

Deprecated:
  use wait2(QoreThreadLock&, int64) instead

References wait().

DLLEXPORT int QoreCondition::wait2 | ( | pthread_mutex_t * | m,
|  | int64 | timeout_ms
| ) |  |

blocks a thread on a mutex for a certain number of milliseconds until the condition is signaled

Parameters

  m | the mutext to wait on
  timeout_ms | the timeout value is milliseconds

Returns
  a non-zero return value indicates a timeout occured

Referenced by wait2().

DLLLOCAL int QoreCondition::wait2 | ( | QoreThreadLock * | l,
|  | int64 | timeout_ms
| ) |  |
| inline

blocks a thread on a lock for a certain number of milliseconds until the condition is signaled

Parameters

  l | the QoreThreadLock to wait on
  timeout_ms | the timeout value is milliseconds

Returns
  a non-zero return value indicates a timeout occured

References wait2().

DLLLOCAL int QoreCondition::wait2 | ( | QoreThreadLock & | l,
|  | int64 | timeout_ms
| ) |  |
| inline

blocks a thread on a lock for a certain number of milliseconds until the condition is signaled

Parameters

  l | the QoreThreadLock to wait on
  timeout_ms | the timeout value is milliseconds

Returns
  a non-zero return value indicates a timeout occured

References wait2().

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

- include/qore/QoreCondition.h (6585)