cgv
|
A mutex that can wake up other threads by signals sent when a condition is fulfilled. More...
#include <mutex.h>
Public Member Functions | |
condition_mutex () | |
construct a mutex | |
~condition_mutex () | |
destruct a mutex | |
void | send_signal () |
send the signal to unblock a thread waiting for the condition represented by this condition_mutex | |
void | send_signal_with_lock () |
prefered approach to send the signal and implemented as {lock();send_signal();unlock();} | |
void | broadcast_signal () |
broadcast signal to unblock several threads waiting for the condition represented by this condition_mutex | |
void | broadcast_signal_with_lock () |
prefered approach to broadcast the signal and implemented as {lock();broadcast_signal();unlock();} | |
![]() | |
mutex () | |
construct a mutex | |
~mutex () | |
destruct a mutex | |
bool | try_lock () |
try to lock the mutex (return false if the mutex is still locked) | |
void | lock () |
lock the mutex (if the mutex is already locked, the caller is blocked until the mutex becomes available) | |
void | unlock () |
unlock the mutex | |
void | debug_lock (const std::string &info) |
same as lock but with printing debug information | |
void | debug_unlock (const std::string &info) |
same unlock but with printing debug information | |
Protected Attributes | |
void * | pcond |
![]() | |
void * | pmutex |
Friends | |
class | thread |
Additional Inherited Members | |
![]() | |
static unsigned | get_debug_lock_counter () |
return the global locking counter that is used for mutex debugging | |
A mutex that can wake up other threads by signals sent when a condition is fulfilled.
cgv::os::condition_mutex::condition_mutex | ( | ) |
construct a mutex
Definition at line 80 of file mutex_pthread.h.
cgv::os::condition_mutex::~condition_mutex | ( | ) |
destruct a mutex
Definition at line 86 of file mutex_pthread.h.
void cgv::os::condition_mutex::broadcast_signal | ( | ) |
broadcast signal to unblock several threads waiting for the condition represented by this condition_mutex
Definition at line 106 of file mutex_pthread.h.
Referenced by broadcast_signal_with_lock().
void cgv::os::condition_mutex::broadcast_signal_with_lock | ( | ) |
prefered approach to broadcast the signal and implemented as {lock();broadcast_signal();unlock();}
Definition at line 112 of file mutex_pthread.h.
References broadcast_signal(), cgv::os::mutex::lock(), and cgv::os::mutex::unlock().
void cgv::os::condition_mutex::send_signal | ( | ) |
send the signal to unblock a thread waiting for the condition represented by this condition_mutex
Definition at line 92 of file mutex_pthread.h.
Referenced by send_signal_with_lock().
void cgv::os::condition_mutex::send_signal_with_lock | ( | ) |
prefered approach to send the signal and implemented as {lock();send_signal();unlock();}
Definition at line 98 of file mutex_pthread.h.
References cgv::os::mutex::lock(), send_signal(), and cgv::os::mutex::unlock().