The Pedigree Project 0.1
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
ExecutionContextGuard Class Reference

#include <ExecutionContext.h>

+ Collaboration diagram for ExecutionContextGuard:

Public Member Functions

 ExecutionContextGuard (ExecutionContext context)
 

Private Member Functions

 ExecutionContextGuard (const ExecutionContextGuard &)
 
ExecutionContextGuardoperator= (const ExecutionContextGuard &)
 
void restore ()
 

Static Private Member Functions

static void abandon (void *context)
 

Private Attributes

Threadm_Thread
 
size_t m_StateLevel
 
ExecutionContext m_Previous
 
AtomicStateCleanupRecord m_Cleanup
 
bool m_Active
 

Detailed Description

Scopes one logical context on the current Thread's active state level.

The cleanup record covers an explicitly audited logical-state replacement or exceptional physical-stack discard. Ordinary thread termination returns through this destructor before reaching its root exit boundary.

Definition at line 70 of file ExecutionContext.h.

Constructor & Destructor Documentation

◆ ExecutionContextGuard()

ExecutionContextGuard::ExecutionContextGuard ( ExecutionContext  context)
explicit

Definition at line 14 of file ExecutionContext.cc.

◆ ~ExecutionContextGuard()

ExecutionContextGuard::~ExecutionContextGuard ( )

Definition at line 40 of file ExecutionContext.cc.

Member Function Documentation

◆ abandon()

void ExecutionContextGuard::abandon ( void *  context)
staticprivate

Definition at line 52 of file ExecutionContext.cc.

◆ restore()

void ExecutionContextGuard::restore ( )
private

Definition at line 59 of file ExecutionContext.cc.

Member Data Documentation

◆ m_Active

bool ExecutionContextGuard::m_Active
private

Definition at line 86 of file ExecutionContext.h.

◆ m_Cleanup

AtomicStateCleanupRecord ExecutionContextGuard::m_Cleanup
private

Definition at line 85 of file ExecutionContext.h.

◆ m_Previous

ExecutionContext ExecutionContextGuard::m_Previous
private

Definition at line 84 of file ExecutionContext.h.

◆ m_StateLevel

size_t ExecutionContextGuard::m_StateLevel
private

Definition at line 83 of file ExecutionContext.h.

◆ m_Thread

Thread* ExecutionContextGuard::m_Thread
private

Definition at line 82 of file ExecutionContext.h.


The documentation for this class was generated from the following files: