Fixed bug 2683965, minor doc fixes.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@833 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
b437b25dd0
commit
93c5d059c0
|
@ -77,6 +77,7 @@ Win32-MinGW - ChibiOS/RT simulator and demo into a WIN32 process,
|
||||||
added a specific test case to the test suite (backported in stable branch).
|
added a specific test case to the test suite (backported in stable branch).
|
||||||
- FIX: Fixed a problem in time ranges (bug 2680425)(backported in stable
|
- FIX: Fixed a problem in time ranges (bug 2680425)(backported in stable
|
||||||
branch).
|
branch).
|
||||||
|
- FIX: Build error with option CH_DBG_FILL_THREADS (bug 2683965).
|
||||||
- FIX: Fixed a wrong parameter check in chVTSetI() and chThdSleep()
|
- FIX: Fixed a wrong parameter check in chVTSetI() and chThdSleep()
|
||||||
(bug 2679155).
|
(bug 2679155).
|
||||||
- FIX: Build error with options CH_USE_NESTED_LOCKS && !CH_OPTIMIZE_SPEED
|
- FIX: Build error with options CH_USE_NESTED_LOCKS && !CH_OPTIMIZE_SPEED
|
||||||
|
|
14
src/chschd.c
14
src/chschd.c
|
@ -32,6 +32,7 @@ ReadyList rlist;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Scheduler initialization.
|
* @brief Scheduler initialization.
|
||||||
|
*
|
||||||
* @note Internally invoked by the @p chSysInit().
|
* @note Internally invoked by the @p chSysInit().
|
||||||
*/
|
*/
|
||||||
void scheduler_init(void) {
|
void scheduler_init(void) {
|
||||||
|
@ -48,10 +49,8 @@ void scheduler_init(void) {
|
||||||
*
|
*
|
||||||
* @param[in] tp the Thread to be made ready
|
* @param[in] tp the Thread to be made ready
|
||||||
* @return The Thread pointer.
|
* @return The Thread pointer.
|
||||||
* @note The function must be called in the system mutex zone.
|
|
||||||
* @note The function does not reschedule, the @p chSchRescheduleS() should
|
* @note The function does not reschedule, the @p chSchRescheduleS() should
|
||||||
* be called soon after.
|
* be called soon after.
|
||||||
* @note The function is not meant to be used in the user code directly.
|
|
||||||
*/
|
*/
|
||||||
#if CH_OPTIMIZE_SPEED
|
#if CH_OPTIMIZE_SPEED
|
||||||
/* NOTE: it is inlined in this module only.*/
|
/* NOTE: it is inlined in this module only.*/
|
||||||
|
@ -77,8 +76,6 @@ Thread *chSchReadyI(Thread *tp) {
|
||||||
* states are described into @p threads.h.
|
* states are described into @p threads.h.
|
||||||
*
|
*
|
||||||
* @param[in] newstate the new thread state
|
* @param[in] newstate the new thread state
|
||||||
* @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.
|
|
||||||
*/
|
*/
|
||||||
void chSchGoSleepS(tstate_t newstate) {
|
void chSchGoSleepS(tstate_t newstate) {
|
||||||
Thread *otp;
|
Thread *otp;
|
||||||
|
@ -133,8 +130,6 @@ static void wakeup(void *p) {
|
||||||
* .
|
* .
|
||||||
* @return The wakeup message.
|
* @return The wakeup message.
|
||||||
* @retval RDY_TIMEOUT if a timeout occurs.
|
* @retval RDY_TIMEOUT if a timeout occurs.
|
||||||
* @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.
|
|
||||||
*/
|
*/
|
||||||
msg_t chSchGoSleepTimeoutS(tstate_t newstate, systime_t time) {
|
msg_t chSchGoSleepTimeoutS(tstate_t newstate, systime_t time) {
|
||||||
|
|
||||||
|
@ -159,8 +154,6 @@ msg_t chSchGoSleepTimeoutS(tstate_t newstate, systime_t time) {
|
||||||
*
|
*
|
||||||
* @param[in] ntp the Thread to be made ready
|
* @param[in] ntp the Thread to be made ready
|
||||||
* @param[in] msg message to the awakened thread
|
* @param[in] msg message to the awakened thread
|
||||||
* @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 It is equivalent to a @p chSchReadyI() followed by a
|
* @note It is equivalent to a @p chSchReadyI() followed by a
|
||||||
* @p chSchRescheduleS() but much more efficient.
|
* @p chSchRescheduleS() but much more efficient.
|
||||||
*/
|
*/
|
||||||
|
@ -191,7 +184,8 @@ void chSchWakeupS(Thread *ntp, msg_t msg) {
|
||||||
/**
|
/**
|
||||||
* @brief Switches to the first thread on the runnable queue.
|
* @brief Switches to the first thread on the runnable queue.
|
||||||
*
|
*
|
||||||
* @note It is intended to be called if @p chSchRescRequiredI() evaluates to @p TRUE.
|
* @note It is intended to be called if @p chSchRescRequiredI() evaluates to
|
||||||
|
* @p TRUE.
|
||||||
*/
|
*/
|
||||||
void chSchDoRescheduleI(void) {
|
void chSchDoRescheduleI(void) {
|
||||||
|
|
||||||
|
@ -212,8 +206,6 @@ void chSchDoRescheduleI(void) {
|
||||||
* @brief Performs a reschedulation if a higher priority thread is runnable.
|
* @brief Performs a reschedulation if a higher priority thread is runnable.
|
||||||
* @details If a thread with a higher priority than the current thread is in
|
* @details If a thread with a higher priority than the current thread is in
|
||||||
* the ready list then make the higher priority thread running.
|
* the ready list then make the higher priority thread running.
|
||||||
*
|
|
||||||
* @note The function must be called in the system mutex zone.
|
|
||||||
*/
|
*/
|
||||||
void chSchRescheduleS(void) {
|
void chSchRescheduleS(void) {
|
||||||
/* first thread in the runnable queue has higher priority than the running
|
/* first thread in the runnable queue has higher priority than the running
|
||||||
|
|
|
@ -94,12 +94,12 @@ Thread *chThdInit(void *workspace, size_t wsize,
|
||||||
(prio <= HIGHPRIO) && (pf != NULL),
|
(prio <= HIGHPRIO) && (pf != NULL),
|
||||||
"chThdInit");
|
"chThdInit");
|
||||||
#if CH_DBG_FILL_THREADS
|
#if CH_DBG_FILL_THREADS
|
||||||
memfill(workspace,
|
memfill((uint8_t *)workspace,
|
||||||
(uint8_t)workspace + sizeof(Thread),
|
(uint8_t *)workspace + sizeof(Thread),
|
||||||
THREAD_FILL_VALUE);
|
THREAD_FILL_VALUE);
|
||||||
memfill((uint8_t)workspace + sizeof(Thread),
|
memfill((uint8_t *)workspace + sizeof(Thread),
|
||||||
(uint8_t)workspace + wsize
|
(uint8_t *)workspace + wsize,
|
||||||
STACK_FILL_VALUE);
|
STACK_FILL_VALUE);
|
||||||
#endif
|
#endif
|
||||||
SETUP_CONTEXT(workspace, wsize, pf, arg);
|
SETUP_CONTEXT(workspace, wsize, pf, arg);
|
||||||
return init_thread(tp, prio);
|
return init_thread(tp, prio);
|
||||||
|
|
Loading…
Reference in New Issue