CorDebugBlockingReason Enumeration

Specifies the reasons why a thread may become blocked on a given object.

Syntax

Typedef enum CorDebugBlockingReason
{
   BLOCKING_NONE = 0
   BLOCKING_MONITOR_CRITICAL_SECTION = 1
   BLOCKING_MONITOR_EVENT = 2
}  CorDebugBlockingReason;

Members

Member Description
BLOCKING_NONE Internal use only.
BLOCKING_MONITOR_CRITICAL_SECTION A thread is trying to acquire the critical section that is associated with the monitor lock on an object. Typically, this occurs when you call one of the Monitor.Enter or Monitor.TryEnter methods.
BLOCKING_MONITOR_EVENT A thread is waiting on the event that is associated with a monitor lock for an object. Typically, this occurs when you call one of the System.Threading.MonitorWait methods.

Remarks

When the BLOCKING_MONITOR_CRITICAL_SECTION or BLOCKING_MONITOR_EVENT member is used in a CorDebugBlockingObject structure, the pBlockingObject member of the structure points to an "ICorDebugValue" interface that represents the object that is being entered. It is also guaranteed to implement the ICorDebugHeapValue3 interface.

Requirements

Platforms: See System Requirements.

Header: CorDebug.idl, CorDebug.h

Library: CorGuids.lib

.NET Framework Versions: Available since 4

See also