mirror of https://github.com/rusefi/ChibiOS.git
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@164 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
e9fd3ba813
commit
dc39fea05e
|
@ -88,7 +88,7 @@ possible so some rules were set:<br>
|
||||||
configure limits
|
configure limits
|
||||||
for data structures, only use lists or other dynamic data structures.
|
for data structures, only use lists or other dynamic data structures.
|
||||||
See
|
See
|
||||||
the <a href="http://chibios.sourceforge.net/doc/index.html" target="_top" rel="me">Documentation</a> and
|
the <a href="http://chibios.sourceforge.net/html/index.html" target="_top" rel="me">Documentation</a> and
|
||||||
the demos.</li>
|
the demos.</li>
|
||||||
<li>No memory allocation inside the kernel, an allocator
|
<li>No memory allocation inside the kernel, an allocator
|
||||||
can be
|
can be
|
||||||
|
|
14
src/chschd.c
14
src/chschd.c
|
@ -80,11 +80,7 @@ void chSchReadyI(Thread *tp, t_msg msg) {
|
||||||
* @note The function must be called in the system mutex zone.
|
* @note The function must be called in the system mutex zone.
|
||||||
* @note The function is not meant to be used in the user code directly.
|
* @note The function is not meant to be used in the user code directly.
|
||||||
*/
|
*/
|
||||||
#ifdef CH_OPTIMIZE_SPEED
|
|
||||||
INLINE void chSchGoSleepS(t_tstate newstate) {
|
|
||||||
#else
|
|
||||||
void chSchGoSleepS(t_tstate newstate) {
|
void chSchGoSleepS(t_tstate newstate) {
|
||||||
#endif
|
|
||||||
Thread *otp;
|
Thread *otp;
|
||||||
|
|
||||||
(otp = currp)->p_state = newstate;
|
(otp = currp)->p_state = newstate;
|
||||||
|
@ -142,9 +138,15 @@ void chSchRescheduleS(void) {
|
||||||
* \p chSchRescRequired() evaluates to \p TRUE.
|
* \p chSchRescRequired() evaluates to \p TRUE.
|
||||||
*/
|
*/
|
||||||
void chSchDoRescheduleI(void) {
|
void chSchDoRescheduleI(void) {
|
||||||
|
Thread *otp = currp;
|
||||||
|
|
||||||
chSchReadyI(currp, RDY_OK);
|
chSchReadyI(otp, RDY_OK);
|
||||||
chSchGoSleepS(PRREADY);
|
(currp = fifo_remove(&rlist.r_queue))->p_state = PRCURR;
|
||||||
|
rlist.r_preempt = CH_TIME_QUANTUM;
|
||||||
|
#ifdef CH_USE_TRACE
|
||||||
|
chDbgTrace(otp, currp);
|
||||||
|
#endif
|
||||||
|
chSysSwitchI(&otp->p_ctx, &currp->p_ctx);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue