git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@164 35acf78f-673a-0410-8e92-d51de3d6d3f4

This commit is contained in:
gdisirio 2008-01-03 14:27:58 +00:00
parent e9fd3ba813
commit dc39fea05e
2 changed files with 9 additions and 7 deletions

View File

@ -88,7 +88,7 @@ possible so some rules were set:<br>
configure limits
for data structures, only use lists or other dynamic data structures.
See
the&nbsp;<a href="http://chibios.sourceforge.net/doc/index.html" target="_top" rel="me">Documentation</a> and
the&nbsp;<a href="http://chibios.sourceforge.net/html/index.html" target="_top" rel="me">Documentation</a> and
the demos.</li>
<li>No memory allocation inside the kernel, an allocator
can be

View File

@ -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 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) {
#endif
Thread *otp;
(otp = currp)->p_state = newstate;
@ -142,9 +138,15 @@ void chSchRescheduleS(void) {
* \p chSchRescRequired() evaluates to \p TRUE.
*/
void chSchDoRescheduleI(void) {
Thread *otp = currp;
chSchReadyI(currp, RDY_OK);
chSchGoSleepS(PRREADY);
chSchReadyI(otp, RDY_OK);
(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);
}
/**