| 
    EtcPal
    0.4.1
    
   ETC Platform Abstraction Layer (EtcPal) 
   | 
  
  
     
      View other versions:
      
     
   | 
  
 
A wrapper class for the EtcPal read-write lock type.
Note: The etcpal::RwLock functions are not normally used directly - prefer usage of the RAII types etcpal::ReadGuard and etcpal::WriteGuard to manage locking and unlocking of an etcpal::RwLock.
Example usage:
See rwlock (Read-Write Locks) for more information.
Public Member Functions | |
| RwLock () | |
| Create a new read-write lock.  | |
| ~RwLock () | |
| Destroy the read-write lock.  | |
| RwLock (const RwLock &other)=delete | |
| RwLock & | operator= (const RwLock &other)=delete | 
| RwLock (RwLock &&other)=delete | |
| RwLock & | operator= (RwLock &&other)=delete | 
| bool | ReadLock () | 
| Access the read-write lock for reading.  More... | |
| bool | TryReadLock (int timeout_ms=0) | 
| Try to access the read-write lock for reading.  More... | |
| void | ReadUnlock () | 
| Release a read lock on the read-write lock.  More... | |
| bool | WriteLock () | 
| Access the read-write lock for writing.  More... | |
| bool | TryWriteLock (int timeout_ms=0) | 
| Try to access the read-write lock for writing.  More... | |
| void | WriteUnlock () | 
| Release a write lock on the read-write lock.  More... | |
| etcpal_rwlock_t & | get () | 
| Get a reference to the underlying etcpal_rwlock_t type.  | |
      
  | 
  inline | 
Access the read-write lock for reading.
      
  | 
  inline | 
Release a read lock on the read-write lock.
      
  | 
  inline | 
Try to access the read-write lock for reading.
Returns when either the read lock is acquired or the timeout expires. NOTE: Timeout values other than 0 or ETCPAL_WAIT_FOREVER are typically only honored on real-time platforms. See the table in rwlock (Read-Write Locks) for more information. On platforms where timeouts are not honored, passing 0 for timeout_ms executes a poll for the lock returning immediately, while any other value executes the equivalent of ReadLock().
| timeout_ms | How long to wait to acquire the read lock, in milliseconds. Default is to poll and return immediately. | 
      
  | 
  inline | 
Try to access the read-write lock for writing.
Returns when either the read lock is acquired or the timeout expires. NOTE: Timeout values other than 0 or ETCPAL_WAIT_FOREVER are typically only honored on real-time platforms. See the table in rwlock (Read-Write Locks) for more information. On platforms where timeouts are not honored, passing 0 for timeout_ms executes a poll for the lock returning immediately, while any other value executes the equivalent of WriteLock().
| timeout_ms | How long to wait to acquire the write lock, in milliseconds. Default is to poll and return immediately. | 
      
  | 
  inline | 
Access the read-write lock for writing.
      
  | 
  inline | 
Release a write lock on the read-write lock.