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

#include <SchedulerTimerDispatchCleanup.h>

+ Collaboration diagram for SchedulerTimerDispatchCleanup:

Public Member Functions

 SchedulerTimerDispatchCleanup (SchedulerTimerHandlerSlot::DispatchGuard &dispatch)
 

Private Member Functions

 SchedulerTimerDispatchCleanup (const SchedulerTimerDispatchCleanup &)
 
SchedulerTimerDispatchCleanupoperator= (const SchedulerTimerDispatchCleanup &)
 
void release ()
 

Static Private Member Functions

static void abandon (void *context)
 

Private Attributes

SchedulerTimerHandlerSlot::DispatchGuardm_Dispatch
 
Threadm_Thread
 
AtomicStateCleanupRecord m_Cleanup
 
bool m_Active
 

Detailed Description

Binds one scheduler-timer admission to the current Thread state.

A scheduler callback may switch away and later have its suspended hard frame abandoned. Thread teardown retires this record before discarding the stack, so the handler slot cannot retain an admission whose destructor will never run.

Definition at line 25 of file SchedulerTimerDispatchCleanup.h.

Constructor & Destructor Documentation

◆ SchedulerTimerDispatchCleanup()

SchedulerTimerDispatchCleanup::SchedulerTimerDispatchCleanup ( SchedulerTimerHandlerSlot::DispatchGuard dispatch)
explicit

Definition at line 29 of file SchedulerTimer.cc.

◆ ~SchedulerTimerDispatchCleanup()

SchedulerTimerDispatchCleanup::~SchedulerTimerDispatchCleanup ( )

Definition at line 45 of file SchedulerTimer.cc.

Member Function Documentation

◆ abandon()

void SchedulerTimerDispatchCleanup::abandon ( void *  context)
staticprivate

Definition at line 56 of file SchedulerTimer.cc.

◆ release()

void SchedulerTimerDispatchCleanup::release ( )
private

Definition at line 64 of file SchedulerTimer.cc.

Member Data Documentation

◆ m_Active

bool SchedulerTimerDispatchCleanup::m_Active
private

Definition at line 40 of file SchedulerTimerDispatchCleanup.h.

◆ m_Cleanup

AtomicStateCleanupRecord SchedulerTimerDispatchCleanup::m_Cleanup
private

Definition at line 39 of file SchedulerTimerDispatchCleanup.h.

◆ m_Dispatch

SchedulerTimerHandlerSlot::DispatchGuard& SchedulerTimerDispatchCleanup::m_Dispatch
private

Definition at line 37 of file SchedulerTimerDispatchCleanup.h.

◆ m_Thread

Thread* SchedulerTimerDispatchCleanup::m_Thread
private

Definition at line 38 of file SchedulerTimerDispatchCleanup.h.


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