Coin Logo http://www.sim.no
http://www.coin3d.org

Public Types | Public Member Functions

SbRWMutex Class Reference

#include <Inventor/threads/SbRWMutex.h>

List of all members.

Public Types

enum  Precedence { READ_PRECEDENCE, WRITE_PRECEDENCE }

Public Member Functions

 SbRWMutex (Precedence policy)
 ~SbRWMutex (void)
int writeLock (void)
SbBool tryWriteLock (void)
int writeUnlock (void)
int readLock (void)
int tryReadLock (void)
int readUnlock (void)

Detailed Description

The SbRWMutex is a mutex that i sused to grant both read and write access to the data it protects. Multiple threads can have read locks on the data at once, but only one write-lock can be given out and not while a thread has a read lock on the data.

The policy on granting read locks to threads when a thread is waiting for the write lock is something that should be configurable at construction time but which isn't at the moment.


Constructor & Destructor Documentation

SbRWMutex::SbRWMutex ( Precedence  policy) [inline]

Constructor.

SbRWMutex::~SbRWMutex ( void  ) [inline]

Destructor.


Member Function Documentation

int SbRWMutex::writeLock ( void  ) [inline]

This method blocks the calling thread until it gains write lock status on the SbRWMutex object.

Referenced by SoDB::writelock().

SbBool SbRWMutex::tryWriteLock ( void  ) [inline]

This method tries to gain write lock status on the SbRWMutex. TRUE is returned if it was successful, FALSE otherwise. This is a non-blocking operation.

int SbRWMutex::writeUnlock ( void  ) [inline]

This method is used for unlocking the calling thread's write lock.

Referenced by SoDB::writeunlock().

int SbRWMutex::readLock ( void  ) [inline]

This method blocks the calling thread until it gains read lock status on the SbRWMutex object.

Referenced by SoDB::readlock().

SbBool SbRWMutex::tryReadLock ( void  ) [inline]

This method tries to gain read lock status on the SbRWMutex. TRUE is returned if it was successful, FALSE otherwise. This is a non-blocking operation.

int SbRWMutex::readUnlock ( void  ) [inline]

This method is used for unlocking the calling thread's read lock.

Referenced by SoDB::readunlock().


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

Copyright © 1998-2007 by Systems in Motion AS. All rights reserved.

Generated on Mon Feb 28 2011 10:12:01 for Coin by Doxygen. 1.7.3