qk_ext.c 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.c.


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 44 of file qk_ext.c.

References Q_REQUIRE, QActive_get_(), QF_active_, QF_gc(), QK_ceilingPrio_, QK_currPrio_, QK_EXT_RESTORE, QK_EXT_SAVE, QK_INT_LOCK_, QK_INT_UNLOCK_, QK_intNest_, QK_readySet_, QK_TLS, QPSet64_findMax, QPSet8_findMax, QS_aoObj_, QS_BEGIN_NOLOCK_, QS_END_NOLOCK_, QS_QK_SCHEDULE, QS_TIME_, QS_U8_, and QActive::super.


Generated by  doxygen 1.6.2