Open Inventor Release 2024.1.1
No Matches
SbThreadAutoLock Class Reference

VSG extension Provides reliable unlocking of a mutex. More...

#include <Inventor/threads/SbThreadAutoLock.h>

Public Member Functions

 SbThreadAutoLock (SbThreadMutex *mutex)
 Creates a mutex "autolock" object and automatically calls the mutex lock method.
 SbThreadAutoLock (SbThreadMutex &mutex)

Detailed Description

VSG extension Provides reliable unlocking of a mutex.

This class provides reliable unlocking of a mutex.

An SbThreadMutex object must be created separately. The address of the mutex object is passed to the constructor, which locks the mutex and saves a reference to the mutex object. The autolock object should be created on the stack, so each thread will have its own autolock. The destructor automatically unlocks the mutex.

Because the autolock object is created on the stack, it avoids the need to explicitly unlock the mutex at every point of exit from the function (a common source of errors). The mutex will be unlocked when the autolock goes out of scope.


// myClass contains a Mutex object named m_mutex
void myClass::someFunction()
// m_mutex is a ptr to an existing SbThreadMutex object
SbThreadAutoLock dummyName( m_mutex );
... other code ...
} // mutex automatically unlocked
<a href="IconLegend.html"><img src="extTGS.gif" alt="VSG extension" border="0"></a> Provides reliabl...


SbThread, SbThreadAutoReadLock, SbThreadAutoWriteLock, SbThreadBarrier, SbThreadMutex, SbThreadRWMutex

Definition at line 72 of file SbThreadAutoLock.h.

Constructor & Destructor Documentation

◆ SbThreadAutoLock() [1/2]

SbThreadAutoLock::SbThreadAutoLock ( SbThreadMutex mutex)

Creates a mutex "autolock" object and automatically calls the mutex lock method.

The mutex will be automatically unlocked when the autolock object is destroyed.

Definition at line 78 of file SbThreadAutoLock.h.

◆ SbThreadAutoLock() [2/2]

SbThreadAutoLock::SbThreadAutoLock ( SbThreadMutex mutex)

Definition at line 85 of file SbThreadAutoLock.h.

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