qk_ext.cpp File Reference

QK_scheduleExt_() implementation. More...

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

Go to the source code of this file.

Functions

void QK_scheduleExt_ (QF_INT_KEY_TYPE intLockKey_)
 The QK extended scheduler for interrupt context.

Detailed Description

QK_scheduleExt_() implementation.

Definition in file qk_ext.cpp.


Function Documentation

void QK_scheduleExt_ ( QF_INT_KEY_TYPE  intLockKey_  ) 

The QK extended scheduler for interrupt context.

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

The signature of QK_scheduleExt_() 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_scheduleExt_(void);

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

Definition at line 42 of file qk_ext.cpp.

References QF::active_, QS::aoObj_, QPSet64::findMax(), QF::gc(), QActive::get_(), Q_REQUIRE, QK_ceilingPrio_, QK_currPrio_, QK_EXT_RESTORE, QK_EXT_SAVE, 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