| 
    Evo C++ Library v0.5.1
    
   | 
 
#include <evo/thread.h>
Condition object for thread synchronization.
-pthread-lpthreadC/C++ -> Code Generation -> Runtime Library Public Types | |
| typedef pthread_cond_t | Handle | 
| typedef SmartLock< Condition > | Lock | 
| Lock object type – see SmartLock.  More... | |
Public Member Functions | |
| Condition () | |
| Default constructor.  More... | |
| Condition (Mutex &mutex) | |
| Constructor.  More... | |
| ~Condition () | |
| Destructor.  More... | |
| void | lock () | 
| Lock associated mutex.  More... | |
| void | lock_notify () | 
| Lock associated mutex, call notify(), then unlock.  More... | |
| void | lock_notify_all () | 
| Lock associated mutex, call notify_all(), then unlock.  More... | |
| bool | lock_wait (ulong timeout_ms=Condition::INF) | 
| Lock associated mutex, call wait(), then unlock.  More... | |
| void | notify () | 
| Notify and wake a waiting thread.  More... | |
| void | notify_all () | 
| Notify and wake all waiting threads.  More... | |
| bool | trylock () | 
| Try to lock associated mutex, fail if already locked (non-blocking).  More... | |
| bool | trylock (ulong timeout_ms) | 
| Try to lock associated mutex with a timeout.  More... | |
| void | unlock () | 
| Unlock associated mutex.  More... | |
| bool | wait (ulong timeout_ms=Condition::INF, bool locked=true) | 
| Wait for notification or timeout.  More... | |
| bool | wait_inf (bool locked=true) | 
| Wait for notification.  More... | |
Public Attributes | |
| Handle | handle | 
| Condition object handle – do not modify.  More... | |
| Mutex * | mutex | 
| Pointer to associated mutex, never NULL – do not modify.  More... | |
| bool | owned | 
| Whether associated mutex is owned by this – do not modify.  More... | |
Static Public Attributes | |
| static const ulong | INF = ULONG_MAX | 
| Infinite wait timeout value.  More... | |
| typedef pthread_cond_t Handle | 
      
  | 
  inline | 
Default constructor.
Constructor.
| mutex | Mutex to associate with | 
      
  | 
  inline | 
Destructor.
      
  | 
  inline | 
      
  | 
  inline | 
Lock associated mutex, call notify(), then unlock.
      
  | 
  inline | 
Lock associated mutex, call notify_all(), then unlock.
      
  | 
  inline | 
Lock associated mutex, call wait(), then unlock.
| timeout_ms | Wait timeout in milliseconds, 0 for immediate (no wait), INF for indefinitely | 
      
  | 
  inline | 
Notify and wake a waiting thread.
      
  | 
  inline | 
Notify and wake all waiting threads.
      
  | 
  inline | 
Try to lock associated mutex, fail if already locked (non-blocking).
      
  | 
  inline | 
Try to lock associated mutex with a timeout.
| timeout_ms | Timeout in milliseconds | 
      
  | 
  inline | 
Unlock associated mutex.
      
  | 
  inline | 
Wait for notification or timeout.
locked=false:timeout_mslocked=true| timeout_ms | Wait timeout in milliseconds, 0 for immediate (no wait), INF for indefinitely | 
| locked | Whether to assume associated mutex is locked, false to lock it here | 
      
  | 
  inline | 
      
  | 
  static | 
Infinite wait timeout value.
| Mutex* mutex | 
Pointer to associated mutex, never NULL – do not modify.
| bool owned | 
Whether associated mutex is owned by this – do not modify.
 1.8.13