|
The Pedigree Project 0.1
|
Collaboration diagram for Thread::StateLevel:Public Member Functions | |
| StateLevel (const StateLevel &s) | |
| StateLevel & | operator= (const StateLevel &s) |
Public Attributes | |
| SchedulerState * | m_State |
| UserReturnFrame * | m_UserReturnFrame = nullptr |
| VirtualAddressSpace::Stack * | m_pKernelStack |
| VirtualAddressSpace::Stack * | m_pUserStack |
| VirtualAddressSpace::Stack * | m_pAuxillaryStack |
| SharedPointer< ExtensibleBitmap > | m_InhibitMask |
| uint64_t | m_SignalMask |
| uint64_t | m_SavedSignalMask |
| bool | m_TemporarySignalMaskActive |
| bool | m_TemporarySignalWaitInterrupted |
| bool | m_DeferredSignalMaskRestore |
| size_t | m_DispatchedSignalNumber |
| size_t | m_DispatchedSignalContinuationEpoch |
| bool | m_bOwnsAlternateSignalStack |
| size_t | m_Errno |
| InterruptionReason | m_InterruptionReason |
| bool | m_bDispatchingWaitEvent |
| ExecutionContextState | m_ExecutionContext |
| RequestQueueCallbackScope * | m_pRequestQueueCallback |
| bool | m_bTerminalWaitCancelledBeforeBlock |
| WaitQueue::Waiter | m_Waiter |
| Thread::StateLevel::StateLevel | ( | const StateLevel & | s | ) |
| Thread::StateLevel & Thread::StateLevel::operator= | ( | const StateLevel & | s | ) |
| bool Thread::StateLevel::m_bDispatchingWaitEvent |
Event dispatch at this level was initiated by a WaitQueue wake.
Definition at line 1149 of file Thread.h.
Referenced by Thread::markDeferredUserReturnSignalInterruption(), Thread::markSignalInterruptedWait(), Thread::prepareSignalStateForExec(), and Thread::pushState().
| bool Thread::StateLevel::m_bOwnsAlternateSignalStack |
This event level owns the thread's active alternate signal stack.
Definition at line 1142 of file Thread.h.
Referenced by PerProcessorScheduler::checkEventState(), Thread::cleanStateLevel(), Thread::popState(), Thread::prepareSignalStateForExec(), and Thread::pushState().
| bool Thread::StateLevel::m_bTerminalWaitCancelledBeforeBlock |
A terminal cancel unlinked this level's waiter while its owner was still running toward the scheduler sleep transition. Protected by Thread::m_Lock.
Definition at line 1162 of file Thread.h.
Referenced by Thread::cleanStateLevel().
| size_t Thread::StateLevel::m_DispatchedSignalContinuationEpoch |
| size_t Thread::StateLevel::m_DispatchedSignalNumber |
Kernel-owned metadata for the signal dispatched at this level.
Definition at line 1138 of file Thread.h.
Referenced by Thread::cleanStateLevel(), Thread::getCurrentSignalDelivery(), Thread::prepareSignalStateForExec(), Thread::pushState(), and Thread::setCurrentSignalDelivery().
| size_t Thread::StateLevel::m_Errno |
Syscall-local state isolated from nested event handlers.
Definition at line 1145 of file Thread.h.
Referenced by Thread::pushState().
| ExecutionContextState Thread::StateLevel::m_ExecutionContext |
Logical context scopes belong to the Thread state they interrupted.
Definition at line 1152 of file Thread.h.
Referenced by Thread::cleanStateLevel(), Thread::executionContext(), and Thread::pushState().
| SharedPointer<ExtensibleBitmap> Thread::StateLevel::m_InhibitMask |
Stack of inhibited Event masks, gets pushed with a new value when an Event handler is run, and popped when one completes.
Definition at line 1126 of file Thread.h.
Referenced by Thread::cleanStateLevel(), Thread::inhibitEvent(), Thread::pushState(), Thread::Thread(), and Thread::Thread().
| InterruptionReason Thread::StateLevel::m_InterruptionReason |
| VirtualAddressSpace::Stack* Thread::StateLevel::m_pAuxillaryStack |
Auxillary stack, to be freed in case the kernel stack is null. This allows kernel mode threads to have stacks freed, as they are left hanging otherwise.
Definition at line 1119 of file Thread.h.
Referenced by Thread::cleanStateLevel(), Thread::getKernelStackBase(), and Thread::Thread().
| VirtualAddressSpace::Stack* Thread::StateLevel::m_pKernelStack |
Our kernel stack.
Definition at line 1111 of file Thread.h.
Referenced by Thread::allocateStackAtLevel(), Thread::cleanStateLevel(), Thread::getKernelStack(), Thread::getKernelStackBase(), Thread::setKernelStack(), and Thread::Thread().
| RequestQueueCallbackScope* Thread::StateLevel::m_pRequestQueueCallback |
Active RequestQueue callback scopes inherited by nested events.
Definition at line 1155 of file Thread.h.
Referenced by Thread::cleanStateLevel(), and Thread::pushState().
| VirtualAddressSpace::Stack* Thread::StateLevel::m_pUserStack |
| uint64_t Thread::StateLevel::m_SavedSignalMask |
Original mask and interruption state for an armed signal-aware wait.
Definition at line 1132 of file Thread.h.
Referenced by Thread::cleanStateLevel(), Thread::prepareSignalStateForExec(), and Thread::pushState().
| uint64_t Thread::StateLevel::m_SignalMask |
POSIX signals blocked at this event nesting level.
Definition at line 1129 of file Thread.h.
Referenced by Thread::commitSignalHandlerMask(), Thread::getSignalMask(), Thread::prepareSignalStateForExec(), Thread::pushState(), Thread::restoreDeferredSignalMask(), Thread::setSignalMask(), Thread::Thread(), and Thread::Thread().
| SchedulerState* Thread::StateLevel::m_State |
The processor state for this level.
Definition at line 1107 of file Thread.h.
Referenced by Thread::allocateStackAtLevel(), Thread::pokeState(), Thread::pushState(), and Thread::state().
| UserReturnFrame* Thread::StateLevel::m_UserReturnFrame = nullptr |
| WaitQueue::Waiter Thread::StateLevel::m_Waiter |
Persistent wait record for this event nesting level.
Definition at line 1170 of file Thread.h.
Referenced by Thread::getWaitDebugInfo(), Thread::interruptWaitUnlocked(), and Thread::unlinkWaitsForStackDiscard().