neuray API Programmer's Manual

mi::base::Recursive_lock Class Reference

[Multithreading Support]

Description

Recursive lock class. The lock implements a critical region that only one thread can enter at a time. The lock is recursive, i.e., a thread that holds the lock can lock it again.

Pre- and post-conditions are checked via mi_base_assert.

See also:

mi::base::Lock::Block

Public Inner Classes

class 
Utility class to acquire a lock that is released by the destructor. More...

Public Constructors

 Recursive_lock()
Constructor.

Public Destructors

 ~Recursive_lock()
Destructor.

Protected Member Functions

void lock()
Locks the lock.
bool  try_lock()
Tries to lock the lock.
void unlock()
Unlocks the lock.

Constructors

mi::​base::​Recursive_lock::Recursive_lock()

Constructor.

Destructors

mi::​base::​Recursive_lock::~Recursive_lock()

Destructor.

Member Functions

void mi::​base::​Recursive_lock::lock() [protected]

Locks the lock.

bool mi::​base::​Recursive_lock::try_lock() [protected]

Tries to lock the lock.

void mi::​base::​Recursive_lock::unlock() [protected]

Unlocks the lock.