HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
UT_TaskLock.h File Reference
#include "UT_API.h"
#include "UT_Array.h"
#include "UT_Assert.h"
#include "UT_Debug.h"
#include "UT_LockUtil.h"
#include "UT_NonCopyable.h"
#include "UT_TaskArena.h"
#include "UT_TaskScope.h"
#include <SYS/SYS_BoostThread.h>
#include <stddef.h>
+ Include dependency graph for UT_TaskLock.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  UT_TaskLockT< NESTED >
 
class  UT_TaskLockWithArena
 UT_TaskLock that avoids deadlocks when used with TBB task scheduling. More...
 

Macros

#define UT_TASKLOCK_DBG(ZZ)
 

Typedefs

typedef UT_TaskLockT< true > UT_TaskLock
 
typedef UT_TaskLockT< false > UT_TaskRootLock
 

Macro Definition Documentation

#define UT_TASKLOCK_DBG (   ZZ)

Definition at line 32 of file UT_TaskLock.h.

Typedef Documentation

typedef UT_TaskLockT<true> UT_TaskLock

A recursive mutex class for synchronizing amongst tasks defined by UT_TaskScope.

The assumptions that UT_TaskScope uses for tasks are:

  • Tasks are hierarchical in a forest of trees
  • When child tasks are running, the parent task is not
  • Child tasks always finish before their parent task

Requirements:

  • You must unlock before your own task ends
  • You must unlock your lock before waiting for a child task to end

Definition at line 287 of file UT_TaskLock.h.

typedef UT_TaskLockT<false> UT_TaskRootLock

Definition at line 289 of file UT_TaskLock.h.