The Pedigree Project 0.1
Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
AtaDisk::IrqCompletion Class Reference
+ Collaboration diagram for AtaDisk::IrqCompletion:

Public Member Functions

 IrqCompletion (AtaDisk &disk)
 
Semaphore * operator-> ()
 

Private Member Functions

void withdraw ()
 

Static Private Member Functions

static void discard (void *context)
 

Private Attributes

AtaDisk & m_Disk
 
Semaphore m_Completion
 
bool m_Published
 
Thread::StackDiscardScope m_StackDiscardScope
 

Detailed Description

Publishes stack-owned command completion storage to the IRQ handler and withdraws it under the same non-sleeping lock before destruction.

Definition at line 57 of file AtaDisk.h.

Constructor & Destructor Documentation

◆ IrqCompletion()

AtaDisk::IrqCompletion::IrqCompletion ( AtaDisk &  disk)
explicit

Definition at line 178 of file AtaDisk.cc.

◆ ~IrqCompletion()

AtaDisk::IrqCompletion::~IrqCompletion ( )

Definition at line 191 of file AtaDisk.cc.

Member Function Documentation

◆ discard()

void AtaDisk::IrqCompletion::discard ( void *  context)
staticprivate

Definition at line 195 of file AtaDisk.cc.

◆ operator->()

Semaphore * AtaDisk::IrqCompletion::operator-> ( )
inline

Definition at line 62 of file AtaDisk.h.

◆ withdraw()

void AtaDisk::IrqCompletion::withdraw ( )
private

Definition at line 199 of file AtaDisk.cc.

Member Data Documentation

◆ m_Completion

Semaphore AtaDisk::IrqCompletion::m_Completion
private

Definition at line 71 of file AtaDisk.h.

◆ m_Disk

AtaDisk& AtaDisk::IrqCompletion::m_Disk
private

Definition at line 70 of file AtaDisk.h.

◆ m_Published

bool AtaDisk::IrqCompletion::m_Published
private

Definition at line 72 of file AtaDisk.h.

◆ m_StackDiscardScope

Thread::StackDiscardScope AtaDisk::IrqCompletion::m_StackDiscardScope
private

Definition at line 73 of file AtaDisk.h.


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