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

This commit is contained in:
gdisirio 2008-09-03 10:58:43 +00:00
parent 090b4c1109
commit d1ffba4de3
3 changed files with 9 additions and 19 deletions

View File

@ -89,6 +89,11 @@ Win32-MinGW - ChibiOS/RT simulator and demo into a WIN32 process,
use the allocation services internally, it is up to the application code
to use the allocators in order to use dynamic system objects.
Both the allocators can be disabled and removed from the memory image.
- FIX: Corrected the wrong definition of the chThdResumeI() macro.
- CHANGE: Now the chThdResume() asserts that the thread is in PRSUSPEND state
rather than test it.
- CHANGE: Removed the CH_USE_SUSPEND and CH_USE_RESUME configuration options
in order to make the chconf.h file simpler.
- Added new test cases to the test suite.
*** 0.6.10 ***

View File

@ -173,7 +173,6 @@ void chThdSetPriority(tprio_t newprio) {
chSysUnlock();
}
#ifdef CH_USE_SUSPEND
/**
* Suspends the invoking thread.
*
@ -182,42 +181,28 @@ void chThdSetPriority(tprio_t newprio) {
* \p PRSUSPENDED state, it is set to \p NULL after it is resumed.
* This allows to implement a "test and resume" on the variable
* into interrupt handlers.
* @note The function is available only if the \p CH_USE_SUSPEND
* option is enabled in \p chconf.h.
*/
void chThdSuspend(Thread **tpp) {
chSysLock();
chDbgAssert(*tpp == NULL, "chthreads.c, chThdSuspend()");
*tpp = currp;
chSchGoSleepS(PRSUSPENDED);
*tpp = NULL;
chSysUnlock();
}
#endif /* CH_USE_SUSPEND */
#ifdef CH_USE_RESUME
/**
* Resumes a thread created with the \p P_SUSPENDED option or suspended with
* \p chThdSuspend().
* Resumes a suspended thread.
* @param tp the pointer to the thread
* @note The function has no effect on threads in any other state than
* \p PRSUSPENDED.
* @note The function is available only if the \p CH_USE_RESUME
* option is enabled in \p chconf.h.
*/
void chThdResume(Thread *tp) {
chSysLock();
if ((tp)->p_state == PRSUSPENDED)
chDbgAssert(tp->p_state == PRSUSPENDED, "chthreads.c, chThdResume()");
chSchWakeupS(tp, RDY_OK);
chSysUnlock();
}
#endif
#ifdef CH_USE_TERMINATE
/**

View File

@ -239,7 +239,7 @@ extern "C" {
* \p chThdSuspend().
* @param tp the pointer to the thread
*/
#define chThdResumeI(tp) chSchReadyI((tp), RDY_OK)
#define chThdResumeI(tp) chSchReadyI(tp)
#endif /* _THREADS_H_ */