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

#include <TerminationDeferral.h>

+ Collaboration diagram for TerminationDeferral:

Public Member Functions

ALWAYS_INLINE TerminationDeferral (bool active=true)
 
 TerminationDeferral (TerminationDeferral &&other) noexcept
 
TerminationDeferraloperator= (TerminationDeferral &&other) noexcept
 

Private Member Functions

void initialise (bool active)
 
 TerminationDeferral (const TerminationDeferral &)=delete
 
TerminationDeferraloperator= (const TerminationDeferral &)=delete
 

Private Attributes

Threadm_pThread
 
DeferredScopeRecord m_Record
 

Detailed Description

Keeps terminal thread teardown out of a scope which owns lifetime state.

A terminal request still wakes waits inside the scope. Interruptible waits return a terminal-pending result, while ownership waits such as Mutex acquisition finish before returning. The scope does not turn ordinary waits into completion barriers: callers still propagate their failure until a syscall, kernel-thread, or user-mode scheduler boundary can commit the exit after the outermost scope has retired its state.

Definition at line 27 of file TerminationDeferral.h.

Constructor & Destructor Documentation

◆ TerminationDeferral() [1/2]

ALWAYS_INLINE TerminationDeferral::TerminationDeferral ( bool  active = true)
inlineexplicit

Definition at line 31 of file TerminationDeferral.h.

◆ TerminationDeferral() [2/2]

TerminationDeferral::TerminationDeferral ( TerminationDeferral &&  other)
noexcept

Definition at line 68 of file TerminationDeferral.cc.

◆ ~TerminationDeferral()

TerminationDeferral::~TerminationDeferral ( )

Definition at line 77 of file TerminationDeferral.cc.

Member Function Documentation

◆ initialise()

void TerminationDeferral::initialise ( bool  active)
private

Definition at line 46 of file TerminationDeferral.cc.

◆ operator=()

TerminationDeferral & TerminationDeferral::operator= ( TerminationDeferral &&  other)
noexcept

Definition at line 84 of file TerminationDeferral.cc.

Member Data Documentation

◆ m_pThread

Thread* TerminationDeferral::m_pThread
private

Definition at line 46 of file TerminationDeferral.h.

◆ m_Record

DeferredScopeRecord TerminationDeferral::m_Record
private

Definition at line 47 of file TerminationDeferral.h.


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