diff options
author | barthess <barthess@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2014-08-26 11:51:53 +0000 |
---|---|---|
committer | barthess <barthess@35acf78f-673a-0410-8e92-d51de3d6d3f4> | 2014-08-26 11:51:53 +0000 |
commit | c0df75d7938e10e0916c6a64b1376626de1f7a4f (patch) | |
tree | faa46a470e0aa4aee8d87943ccd8b848bcd51af4 | |
parent | 2ccbae7dc4cfc67616a86a4633eda2d0c9c9f360 (diff) | |
download | ChibiOS-c0df75d7938e10e0916c6a64b1376626de1f7a4f.tar.gz ChibiOS-c0df75d7938e10e0916c6a64b1376626de1f7a4f.tar.bz2 ChibiOS-c0df75d7938e10e0916c6a64b1376626de1f7a4f.zip |
[CPP wrapper] Added unlock functions to Mutex class.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@7199 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r-- | os/various/cpp_wrappers/ch.cpp | 10 | ||||
-rw-r--r-- | os/various/cpp_wrappers/ch.hpp | 22 |
2 files changed, 32 insertions, 0 deletions
diff --git a/os/various/cpp_wrappers/ch.cpp b/os/various/cpp_wrappers/ch.cpp index 500db278d..fbc8d1897 100644 --- a/os/various/cpp_wrappers/ch.cpp +++ b/os/various/cpp_wrappers/ch.cpp @@ -529,6 +529,16 @@ namespace chibios_rt { chMtxLockS(&mutex);
}
+ void Mutex::unlock(void) {
+
+ chMtxUnlock(&mutex);
+ }
+
+ void Mutex::unlockS(void) {
+
+ chMtxLockS(&mutex);
+ }
+
#if CH_CFG_USE_CONDVARS
/*------------------------------------------------------------------------*
* chibios_rt::CondVar *
diff --git a/os/various/cpp_wrappers/ch.hpp b/os/various/cpp_wrappers/ch.hpp index 7588e5ee1..b0d5d824f 100644 --- a/os/various/cpp_wrappers/ch.hpp +++ b/os/various/cpp_wrappers/ch.hpp @@ -1215,6 +1215,28 @@ namespace chibios_rt { * @sclass
*/
void lockS(void);
+
+ /**
+ * @brief Unlocks the next owned mutex in reverse lock order.
+ * @pre The invoking thread <b>must</b> have at least one owned mutex.
+ * @post The mutex is unlocked and removed from the per-thread stack of
+ * owned mutexes.
+ *
+ * @api
+ */
+ void unlock(void);
+
+ /**
+ * @brief Unlocks the next owned mutex in reverse lock order.
+ * @pre The invoking thread <b>must</b> have at least one owned mutex.
+ * @post The mutex is unlocked and removed from the per-thread stack of
+ * owned mutexes.
+ * @post This function does not reschedule so a call to a rescheduling
+ * function must be performed before unlocking the kernel.
+ *
+ * @sclass
+ */
+ void unlockS(void);
};
#if CH_CFG_USE_CONDVARS || defined(__DOXYGEN__)
|