The Pedigree Project 0.1
Classes | Public Types | Public Attributes | Private Member Functions | Friends | List of all members
DeferredScopeRecord Struct Reference

#include <DeferredScope.h>

+ Collaboration diagram for DeferredScopeRecord:

Classes

struct  Uninitialised
 

Public Types

using Cleanup = void(*)(void *)
 

Public Attributes

DeferredScopeRecordnext
 
size_t stateLevel
 
size_t sequence
 
bool defersTermination
 
bool defersEvents
 
Cleanup cleanup
 
void * context
 
bool armed
 

Private Member Functions

 DeferredScopeRecord (Uninitialised)
 

Friends

class TerminationDeferral
 

Detailed Description

Intrusive record for a deferral scope living on a Thread kernel stack.

Explicit context replacement or exceptional stack discard unlinks these records before the storage disappears. Ordinary termination relies on the owning C++ scope to unregister the record while returning normally.

Definition at line 21 of file DeferredScope.h.

Member Typedef Documentation

◆ Cleanup

using DeferredScopeRecord::Cleanup = void (*)(void*)

Definition at line 22 of file DeferredScope.h.

Constructor & Destructor Documentation

◆ DeferredScopeRecord() [1/2]

DeferredScopeRecord::DeferredScopeRecord ( )
inline

Definition at line 24 of file DeferredScope.h.

◆ DeferredScopeRecord() [2/2]

DeferredScopeRecord::DeferredScopeRecord ( Uninitialised  )
inlineexplicitprivate

Definition at line 47 of file DeferredScope.h.

Friends And Related Symbol Documentation

◆ TerminationDeferral

friend class TerminationDeferral
friend

Definition at line 44 of file DeferredScope.h.

Member Data Documentation

◆ armed

bool DeferredScopeRecord::armed

Definition at line 41 of file DeferredScope.h.

◆ cleanup

Cleanup DeferredScopeRecord::cleanup

Definition at line 39 of file DeferredScope.h.

◆ context

void* DeferredScopeRecord::context

Definition at line 40 of file DeferredScope.h.

◆ defersEvents

bool DeferredScopeRecord::defersEvents

Definition at line 38 of file DeferredScope.h.

◆ defersTermination

bool DeferredScopeRecord::defersTermination

Definition at line 37 of file DeferredScope.h.

◆ next

DeferredScopeRecord* DeferredScopeRecord::next

Definition at line 34 of file DeferredScope.h.

◆ sequence

size_t DeferredScopeRecord::sequence

Definition at line 36 of file DeferredScope.h.

◆ stateLevel

size_t DeferredScopeRecord::stateLevel

Definition at line 35 of file DeferredScope.h.


The documentation for this struct was generated from the following file: