Qore Programming Language  1.7.0
QoreCondition Class Reference

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

#include <QoreCondition.h>

Inherited by DatasourcePool.

Public Member Methods

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

◆ wait() [1/6]

DLLEXPORT int QoreCondition::wait ( pthread_mutex_t *  m)

blocks a thread on a mutex until the condition is signaled

Parameters
mthe mutex to wait on
Returns
0 for success, non-zero for error

◆ wait() [2/6]

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
mthe mutext to wait on
timeout_msthe timeout value is milliseconds; if <= 0 will wait indefinitely
Returns
a non-zero return value indicates a timeout occured
Deprecated:
use wait2(pthread_mutex_t*, int64) instead

◆ wait() [3/6]

DLLLOCAL int QoreCondition::wait ( QoreThreadLock l)
inline

blocks a thread on a lock until the condition is signaled

Parameters
lthe QoreThreadLock to wait on
Returns
0 for success, non-zero for error

◆ wait() [4/6]

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
lthe QoreThreadLock to wait on
timeout_msthe timeout value is milliseconds; if <= 0 will wait indefinitely
Returns
a non-zero return value indicates a timeout occured
Deprecated:
use wait2(QoreThreadLock&, int64) instead

◆ wait() [5/6]

DLLLOCAL int QoreCondition::wait ( QoreThreadLock l)
inline

blocks a thread on a lock until the condition is signaled

Parameters
lthe QoreThreadLock to wait on
Returns
0 for success, non-zero for error

◆ wait() [6/6]

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
lthe QoreThreadLock to wait on
timeout_msthe timeout value is milliseconds; if <= 0 will wait indefinitely
Returns
a non-zero return value indicates a timeout occured
Deprecated:
use wait2(QoreThreadLock*, int64) instead

◆ wait2() [1/3]

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
mthe mutext to wait on
timeout_msthe timeout value is milliseconds; if <= 0 will wait indefinitely
Returns
a non-zero return value indicates a timeout occured

◆ wait2() [2/3]

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
lthe QoreThreadLock to wait on
timeout_msthe timeout value is milliseconds; if <= 0 will wait indefinitely
Returns
a non-zero return value indicates a timeout occured

◆ wait2() [3/3]

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
lthe QoreThreadLock to wait on
timeout_msthe timeout value is milliseconds; if <= 0 will wait indefinitely
Returns
a non-zero return value indicates a timeout occured

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