git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@420 35acf78f-673a-0410-8e92-d51de3d6d3f4
This commit is contained in:
parent
090b4c1109
commit
d1ffba4de3
|
@ -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 ***
|
||||
|
|
|
@ -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)
|
||||
chSchWakeupS(tp, RDY_OK);
|
||||
|
||||
chDbgAssert(tp->p_state == PRSUSPENDED, "chthreads.c, chThdResume()");
|
||||
chSchWakeupS(tp, RDY_OK);
|
||||
chSysUnlock();
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CH_USE_TERMINATE
|
||||
/**
|
||||
|
|
|
@ -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_ */
|
||||
|
||||
|
|
Loading…
Reference in New Issue