NVIDIA Iray: Math API nvidia_logo_transpbg.gif Up
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
mi::base::Recursive_lock Class Reference

Recursive lock class. More...

Classes

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

Public Member Functions

 Recursive_lock ()
 Constructor. More...
 
 ~Recursive_lock ()
 Destructor. More...
 

Protected Member Functions

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

Detailed 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

Constructor & Destructor Documentation

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

Constructor.

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

Destructor.

Member Function Documentation

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.