/** * @brief Releases a sender thread specifying a response message. * @pre Invoke this function only after a message has been received * using @p chMsgWait(). * * @param[in] tp pointer to the thread * @param[in] msg message to be returned to the sender * * @api */ void chMsgRelease(thread_t *tp, msg_t msg) { chSysLock(); chDbgAssert(tp->p_state == CH_STATE_SNDMSG, "invalid state"); chMsgReleaseS(tp, msg); chSysUnlock(); }
/** * @brief Releases a sender thread specifying a response message. * @pre Invoke this function only after a message has been received * using @p chMsgWait(). * * @param[in] tp pointer to the thread * @param[in] msg message to be returned to the sender * * @api */ void chMsgRelease(Thread *tp, msg_t msg) { chSysLock(); chDbgAssert(tp->p_state == THD_STATE_SNDMSG, "chMsgRelease(), #1", "invalid state"); chMsgReleaseS(tp, msg); chSysUnlock(); }