aboutsummaryrefslogtreecommitdiffstats
path: root/os
diff options
context:
space:
mode:
Diffstat (limited to 'os')
-rw-r--r--os/various/ch.cpp10
-rw-r--r--os/various/ch.hpp13
2 files changed, 12 insertions, 11 deletions
diff --git a/os/various/ch.cpp b/os/various/ch.cpp
index 4c21904cb..2b23768d7 100644
--- a/os/various/ch.cpp
+++ b/os/various/ch.cpp
@@ -131,19 +131,19 @@ namespace chibios_rt {
return chMsgSend(thread_ref, msg);
}
- msg_t BaseThread::WaitMessage(void) {
+ Thread *BaseThread::WaitMessage(void) {
return chMsgWait();
}
- msg_t BaseThread::GetMessage(void) {
+ msg_t BaseThread::GetMessage(Thread* tp) {
- return chMsgGet();
+ return chMsgGet(tp);
}
- void BaseThread::ReleaseMessage(msg_t msg) {
+ void BaseThread::ReleaseMessage(Thread* tp, msg_t msg) {
- chMsgRelease(msg);
+ chMsgRelease(tp, msg);
}
bool BaseThread::IsPendingMessage(void) {
diff --git a/os/various/ch.hpp b/os/various/ch.hpp
index 487f03e75..d48dc30fe 100644
--- a/os/various/ch.hpp
+++ b/os/various/ch.hpp
@@ -198,26 +198,27 @@ namespace chibios_rt {
msg_t SendMessage(msg_t msg);
/**
- * @brief Waits for a message and returns it.
+ * @brief Waits for a message.
*
- * @return The incoming message.
+ * @return The sebder thread.
*/
- static msg_t WaitMessage(void);
+ static Thread *WaitMessage(void);
/**
* @brief Returns an enqueued message or @p NULL.
*
+ * @param[in] tp the sender thread
* @return The incoming message.
- * @retval NULL No incoming message.
*/
- static msg_t GetMessage(void);
+ static msg_t GetMessage(Thread* tp);
/**
* @brief Releases the next message in queue with a reply.
*
+ * @param[in] tp the sender thread
* @param[in] msg the answer message
*/
- static void ReleaseMessage(msg_t msg);
+ static void ReleaseMessage(Thread* tp, msg_t msg);
/**
* @brief Returns true if there is at least one message in queue.