| 
    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();}   | |
  Public Member Functions inherited from cgv::os::mutex | |
| 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 | 
  Protected Attributes inherited from cgv::os::mutex | |
| void * | pmutex | 
Friends | |
| class | thread | 
Additional Inherited Members | |
  Static Public Member Functions inherited from cgv::os::mutex | |
| 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().