NVIDIA Iray API Home  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.