distortos  v0.4.0
object-oriented C++ RTOS for microcontrollers
distortos::internal::anonymous_namespace{SignalsCatcherControlBlock.cpp} Namespace Reference

Functions

std::pair< int, SignalInformationacceptPendingUnblockedSignal (SignalsReceiverControlBlock &signalsReceiverControlBlock, const SignalSet signalMask)
 Accepts first pending and unblocked signal. More...
 
SignalsCatcherControlBlock::AssociationfindAssociation (SignalsCatcherControlBlock::Association *const begin, SignalsCatcherControlBlock::Association *const end, const uint8_t signalNumber)
 Tries to find SignalsCatcherControlBlock::Association for given signal number in given range. More...
 
SignalsCatcherControlBlock::AssociationfindAssociation (SignalsCatcherControlBlock::Association *const begin, SignalsCatcherControlBlock::Association *const end, const SignalAction &signalAction)
 Tries to find SignalsCatcherControlBlock::Association for given SignalAction in given range. More...
 
void deliverSignals ()
 Delivers all unmasked signals that are pending/queued for current thread. More...
 

Function Documentation

◆ acceptPendingUnblockedSignal()

std::pair<int, SignalInformation> distortos::internal::anonymous_namespace{SignalsCatcherControlBlock.cpp}::acceptPendingUnblockedSignal ( SignalsReceiverControlBlock signalsReceiverControlBlock,
const SignalSet  signalMask 
)

Accepts first pending and unblocked signal.

Parameters
[in]signalsReceiverControlBlockis a reference to SignalsReceiverControlBlock associated with current thread
[in]signalMaskis the signal mask of current thread
Returns
pair with return code (0 on success, error code otherwise) and SignalInformation object for accepted signal; error codes:
Here is the call graph for this function:
Here is the caller graph for this function:

◆ deliverSignals()

void distortos::internal::anonymous_namespace{SignalsCatcherControlBlock.cpp}::deliverSignals ( )

Delivers all unmasked signals that are pending/queued for current thread.

Todo:
error handling?
Todo:
error handling?
Here is the call graph for this function:
Here is the caller graph for this function:

◆ findAssociation() [1/2]

SignalsCatcherControlBlock::Association* distortos::internal::anonymous_namespace{SignalsCatcherControlBlock.cpp}::findAssociation ( SignalsCatcherControlBlock::Association *const  begin,
SignalsCatcherControlBlock::Association *const  end,
const uint8_t  signalNumber 
)

Tries to find SignalsCatcherControlBlock::Association for given signal number in given range.

Parameters
[in]beginis a pointer to first element of range of SignalsCatcherControlBlock::Association objects
[in]endis a pointer to "one past the last" element of range of SignalsCatcherControlBlock::Association objects
[in]signalNumberis the signal for which the association will be searched
Returns
pointer to found SignalsCatcherControlBlock::Association object, end if no match was found

◆ findAssociation() [2/2]

SignalsCatcherControlBlock::Association* distortos::internal::anonymous_namespace{SignalsCatcherControlBlock.cpp}::findAssociation ( SignalsCatcherControlBlock::Association *const  begin,
SignalsCatcherControlBlock::Association *const  end,
const SignalAction signalAction 
)

Tries to find SignalsCatcherControlBlock::Association for given SignalAction in given range.

Parameters
[in]beginis a pointer to first element of range of SignalsCatcherControlBlock::Association objects
[in]endis a pointer to "one past the last" element of range of SignalsCatcherControlBlock::Association objects
[in]signalActionis a reference to SignalAction object for which the association will be searched
Returns
pointer to found SignalsCatcherControlBlock::Association object, end if no match was found
Here is the call graph for this function:
Here is the caller graph for this function: