OpenImageIO
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Classes | Public Member Functions | List of all members
spin_rw_mutex Class Reference

#include <thread.h>

Classes

class  read_lock_guard
 
class  write_lock_guard
 

Public Member Functions

 spin_rw_mutex (void)
 
 spin_rw_mutex (const spin_rw_mutex &)
 
const spin_rw_mutexoperator= (const spin_rw_mutex &)
 
void read_lock ()
 
void read_unlock ()
 
void write_lock ()
 
void write_unlock ()
 

Detailed Description

Spinning reader/writer mutex. This is just like spin_mutex, except that there are separate locking mechanisms for "writers" (exclusive holders of the lock, presumably because they are modifying whatever the lock is protecting) and "readers" (non-exclusive, non-modifying tasks that may access the protectee simultaneously).

Constructor & Destructor Documentation

spin_rw_mutex::spin_rw_mutex ( void  )
inline

Default constructor – initialize to unlocked.

spin_rw_mutex::spin_rw_mutex ( const spin_rw_mutex )
inline

Copy constructor – initialize to unlocked.

Member Function Documentation

const spin_rw_mutex& spin_rw_mutex::operator= ( const spin_rw_mutex )
inline

Assignment does not do anything, since lockedness should not transfer.

void spin_rw_mutex::read_lock ( )
inline

Acquire the reader lock.

void spin_rw_mutex::read_unlock ( )
inline

Release the reader lock.

void spin_rw_mutex::write_lock ( )
inline

Acquire the writer lock.

void spin_rw_mutex::write_unlock ( )
inline

Release the writer lock.


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