IUMSThreadProxy::EnterHyperCriticalRegion Method

Called in order to enter a hyper-critical region. When inside a hyper-critical region, the scheduler will not observe any blocking operations that happen during the region. This means the scheduler will not be reentered for blocking function calls, lock acquisition attempts which block, page faults, thread suspensions, kernel asynchronous procedure calls (APCs), and so forth, for a UMS thread.

virtual int EnterHyperCriticalRegion() =0;

Return Value

The new depth of hyper-critical region. Hyper-critical regions are reentrant.

Remarks

The scheduler must be extraordinarily careful about what methods it calls and what locks it acquires in such regions. If code in such a region blocks on a lock that is held by something the scheduler is responsible for scheduling, deadlock may ensue.

Requirements

Header: concrtrm.h

Namespace: concurrency

See Also

Reference

IUMSThreadProxy Structure

IUMSThreadProxy::ExitHyperCriticalRegion Method