The Pedigree Project 0.1
Public Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
SignalFdView Class Referencefinal
+ Inheritance diagram for SignalFdView:
+ Collaboration diagram for SignalFdView:

Public Member Functions

ReadyMask queryReady ()
 
ReadinessGenerations readinessGenerations () override
 
ReadyMask queryCallerReady ()
 
ReadinessGenerations callerReadinessGenerations ()
 
- Public Member Functions inherited from ReadinessSource
MUST_USE_RESULT bool subscribeReadiness (ReadyMask interest, const SharedPointer< ReadinessObserver > &observer, ReadinessSubscription &subscription)
 

Private Member Functions

 SignalFdView (const SharedPointer< SignalFdState > &state, const SharedPointer< PendingSignalContext > &context, const SharedPointer< PendingSignalBinding > &binding)
 
bool subscribe ()
 
void changed (bool maskChanged)
 
ReadinessGenerations generationsFor (const SharedPointer< PendingSignalBinding > &binding)
 

Private Attributes

SharedPointer< SignalFdStatem_State
 
SharedPointer< PendingSignalContextm_Context
 
SharedPointer< PendingSignalBindingm_Binding
 
ReadinessSubscription m_PendingSubscription
 
ReadinessSubscription m_MaskSubscription
 
Mutex m_GenerationLock
 
SharedPointer< PendingSignalBindingm_GenerationBinding
 
uint64_t m_MaskGeneration = 0
 
uint64_t m_PendingGeneration = 0
 
uint64_t m_ReadGeneration = 0
 

Friends

class SignalFd
 
class SignalFdObserver
 

Additional Inherited Members

- Protected Member Functions inherited from ReadinessSource
void notifyReadiness (ReadyMask mask)
 
void closeReadiness (ReadyMask mask=ReadyInvalid|ReadyHangup)
 

Detailed Description

Definition at line 13 of file signalfd-syscalls.h.

Constructor & Destructor Documentation

◆ ~SignalFdView()

SignalFdView::~SignalFdView ( )
override

Definition at line 137 of file signalfd-syscalls.cc.

◆ SignalFdView()

SignalFdView::SignalFdView ( const SharedPointer< SignalFdState > &  state,
const SharedPointer< PendingSignalContext > &  context,
const SharedPointer< PendingSignalBinding > &  binding 
)
private

Definition at line 133 of file signalfd-syscalls.cc.

Member Function Documentation

◆ callerReadinessGenerations()

ReadinessGenerations SignalFdView::callerReadinessGenerations ( )

Definition at line 175 of file signalfd-syscalls.cc.

◆ changed()

void SignalFdView::changed ( bool  maskChanged)
private

Definition at line 154 of file signalfd-syscalls.cc.

◆ generationsFor()

ReadinessGenerations SignalFdView::generationsFor ( const SharedPointer< PendingSignalBinding > &  binding)
private

Definition at line 179 of file signalfd-syscalls.cc.

◆ queryCallerReady()

ReadyMask SignalFdView::queryCallerReady ( )

Definition at line 167 of file signalfd-syscalls.cc.

◆ queryReady()

ReadyMask SignalFdView::queryReady ( )

Definition at line 159 of file signalfd-syscalls.cc.

◆ readinessGenerations()

ReadinessGenerations SignalFdView::readinessGenerations ( )
overridevirtual

Return source-serialized rising-edge sequences where available.

A source increments the corresponding sequence while holding the same lock which changes its readiness predicate. Consumers can then recover a drain/refill transition even if the two callback deliveries are reordered.

Reimplemented from ReadinessSource.

Definition at line 164 of file signalfd-syscalls.cc.

◆ subscribe()

bool SignalFdView::subscribe ( )
private

Definition at line 144 of file signalfd-syscalls.cc.

Friends And Related Symbol Documentation

◆ SignalFd

friend class SignalFd
friend

Definition at line 22 of file signalfd-syscalls.h.

◆ SignalFdObserver

friend class SignalFdObserver
friend

Definition at line 23 of file signalfd-syscalls.h.

Member Data Documentation

◆ m_Binding

SharedPointer<PendingSignalBinding> SignalFdView::m_Binding
private

Definition at line 32 of file signalfd-syscalls.h.

◆ m_Context

SharedPointer<PendingSignalContext> SignalFdView::m_Context
private

Definition at line 31 of file signalfd-syscalls.h.

◆ m_GenerationBinding

SharedPointer<PendingSignalBinding> SignalFdView::m_GenerationBinding
private

Definition at line 36 of file signalfd-syscalls.h.

◆ m_GenerationLock

Mutex SignalFdView::m_GenerationLock
private

Definition at line 35 of file signalfd-syscalls.h.

◆ m_MaskGeneration

uint64_t SignalFdView::m_MaskGeneration = 0
private

Definition at line 37 of file signalfd-syscalls.h.

◆ m_MaskSubscription

ReadinessSubscription SignalFdView::m_MaskSubscription
private

Definition at line 34 of file signalfd-syscalls.h.

◆ m_PendingGeneration

uint64_t SignalFdView::m_PendingGeneration = 0
private

Definition at line 38 of file signalfd-syscalls.h.

◆ m_PendingSubscription

ReadinessSubscription SignalFdView::m_PendingSubscription
private

Definition at line 33 of file signalfd-syscalls.h.

◆ m_ReadGeneration

uint64_t SignalFdView::m_ReadGeneration = 0
private

Definition at line 39 of file signalfd-syscalls.h.

◆ m_State

SharedPointer<SignalFdState> SignalFdView::m_State
private

Definition at line 30 of file signalfd-syscalls.h.


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