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


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

References Q_REQUIRE, QActive_get_(), QF_active_, QF_gc(), QK_ceilingPrio_, QK_currPrio_, 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