Scroll to navigation

SbRWMutex(3) Library Functions Manual SbRWMutex(3)

NAME

SbRWMutex

SYNOPSIS

#include <Inventor/threads/SbRWMutex.h>

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 is used 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.

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.

int SbRWMutex::readLock (void) [inline]

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

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.

Author

Generated automatically by Doxygen for Coin from the source code.

Version 3.1.3 Coin