diff options
author | Giovanni Di Sirio <gdisirio@gmail.com> | 2018-04-28 15:43:08 +0000 |
---|---|---|
committer | Giovanni Di Sirio <gdisirio@gmail.com> | 2018-04-28 15:43:08 +0000 |
commit | fea81eee7795e769c1e37837d555cab3c6a0a14e (patch) | |
tree | 0faaa4690b6acc755636213b6f8c20ce01899814 | |
parent | fc1588e68475c356a215a49850874e9142010111 (diff) | |
download | ChibiOS-fea81eee7795e769c1e37837d555cab3c6a0a14e.tar.gz ChibiOS-fea81eee7795e769c1e37837d555cab3c6a0a14e.tar.bz2 ChibiOS-fea81eee7795e769c1e37837d555cab3c6a0a14e.zip |
Small API change for consistency.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@11970 110e8d01-0319-4d1e-a829-52ad28d1bb01
-rw-r--r-- | os/rt/include/chmtx.h | 4 | ||||
-rw-r--r-- | os/rt/src/chcond.c | 14 | ||||
-rw-r--r-- | readme.txt | 1 |
3 files changed, 9 insertions, 10 deletions
diff --git a/os/rt/include/chmtx.h b/os/rt/include/chmtx.h index 5f7793bdc..44e9ea42c 100644 --- a/os/rt/include/chmtx.h +++ b/os/rt/include/chmtx.h @@ -139,9 +139,9 @@ static inline bool chMtxQueueNotEmptyS(mutex_t *mp) { * @return A pointer to the next mutex in the stack.
* @retval NULL if the stack is empty.
*
- * @sclass
+ * @xclass
*/
-static inline mutex_t *chMtxGetNextMutexS(void) {
+static inline mutex_t *chMtxGetNextMutexX(void) {
return chThdGetSelfX()->mtxlist;
}
diff --git a/os/rt/src/chcond.c b/os/rt/src/chcond.c index 1881f1f63..8ee07a814 100644 --- a/os/rt/src/chcond.c +++ b/os/rt/src/chcond.c @@ -204,15 +204,14 @@ msg_t chCondWait(condition_variable_t *cp) { */
msg_t chCondWaitS(condition_variable_t *cp) {
thread_t *ctp = currp;
- mutex_t *mp;
+ mutex_t *mp = chMtxGetNextMutexX();
msg_t msg;
chDbgCheckClassS();
chDbgCheck(cp != NULL);
- chDbgAssert(ctp->mtxlist != NULL, "not owning a mutex");
+ chDbgAssert(mp != NULL, "not owning a mutex");
- /* Getting "current" mutex and releasing it.*/
- mp = chMtxGetNextMutexS();
+ /* Releasing "current" mutex.*/
chMtxUnlockS(mp);
/* Start waiting on the condition variable, on exit the mutex is taken
@@ -294,15 +293,14 @@ msg_t chCondWaitTimeout(condition_variable_t *cp, sysinterval_t timeout) { * @sclass
*/
msg_t chCondWaitTimeoutS(condition_variable_t *cp, sysinterval_t timeout) {
- mutex_t *mp;
+ mutex_t *mp = chMtxGetNextMutexX();
msg_t msg;
chDbgCheckClassS();
chDbgCheck((cp != NULL) && (timeout != TIME_IMMEDIATE));
- chDbgAssert(currp->mtxlist != NULL, "not owning a mutex");
+ chDbgAssert(mp != NULL, "not owning a mutex");
- /* Getting "current" mutex and releasing it.*/
- mp = chMtxGetNextMutexS();
+ /* Releasing "current" mutex.*/
chMtxUnlockS(mp);
/* Start waiting on the condition variable, on exit the mutex is taken
diff --git a/readme.txt b/readme.txt index 95c3ea8a1..deab2bbd1 100644 --- a/readme.txt +++ b/readme.txt @@ -94,6 +94,7 @@ *****************************************************************************
*** Next ***
+- NEW: Change, chMtxGetNextMutexS() renamed to chMtxGetNextMutexX().
- NEW: RT C++ wrapper reworked, now it is mostly inline code, added some new
wrappers and methods. Added wrappers for more API functions. BaseThreads
are no more descendants of ThreadReference.
|