24 #if KERNEL_ROUND_ROBIN 36 const auto cs = CriticalGuard{};
48 const auto cs = CriticalGuard{};
54 if (pclThreadList->GetHead() != pclThreadList->GetTail()) {
67 auto* pclThreadList = pclTargetThread_->GetCurrent();
68 if ((pclThreadList->GetHead() == pclThreadList->GetTail()) || (pclTargetThread_ ==
m_pclTimerThread)
85 #endif // #if KERNEL_ROUND_ROBIN static void Update(Thread *pclTargetThread_)
Update Update the current thread being tracked for round-robing scheduling. Note - this has no effect...
static Thread * m_pclTimerThread
void PivotForward()
PivotForward Pivot the head of the circularly linked list forward ( Head = Head->next, Tail = Tail->next )
static void SetInTimer()
SetInTimer Set a flag to indicate that the CPU is currently running within the timer-callback routine...
static uint16_t m_u16TicksRemain
Single include file given to users of the Mark3 Kernel API.
static void ClearInTimer()
ClearInTimer Clear the flag once the timer callback function has been completed.
ThreadList * GetCurrent(void)
GetCurrent Return the ThreadList where the thread is currently located.
static Thread * m_pclActiveThread