qk_sched.cpp File Reference

QK_schedule_() implementation. More...

#include "qk_pkg.h"
#include "qassert.h"

Go to the source code of this file.

Functions

void QK_schedule_ (QF_INT_KEY_TYPE intLockKey_)
 The QK scheduler.

Detailed Description

QK_schedule_() implementation.

Definition in file qk_sched.cpp.


Function Documentation

void QK_schedule_ ( QF_INT_KEY_TYPE  intLockKey_  ) 

The QK scheduler.

Note:
The QK scheduler must be always called with the interrupts locked and unlocks interrupts internally.

The signature of QK_schedule_() depends on the policy of locking and unlocking interrupts. When the interrupt lock key is not used (QF_INT_KEY_TYPE undefined), the signature is as follows:
void QK_schedule_(void);

However, when the interrupt key lock is used (QF_INT_KEY_TYPE defined), the signature is different:
void QK_schedule_(QF_INT_KEY_TYPE intLockKey);

For the internal use, these differences are hidden by the macro QK_SCHEDULE_.

Definition at line 42 of file qk_sched.cpp.

References QF::active_, QS::aoObj_, QPSet64::findMax(), QF::gc(), QActive::get_(), QPSet8::notEmpty(), Q_REQUIRE, QK_ceilingPrio_, QK_currPrio_, QK_INT_LOCK_, QK_INT_UNLOCK_, QK_intNest_, QK_readySet_, QK_TLS, QS_BEGIN_NOLOCK_, QS_END_NOLOCK_, QS_QK_SCHEDULE, QS_TIME_, and QS_U8_.


Generated by  doxygen 1.6.2