Go to the documentation of this file.
30 #if (CH_CFG_USE_MESSAGES == TRUE) || defined(__DOXYGEN__)
75 if (NIL_THD_IS_WTMSG(tp)) {
thread_t * chSchReadyI(thread_t *tp, msg_t msg)
Makes the specified thread ready for execution.
msg_t chSchGoSleepTimeoutS(tstate_t newstate, sysinterval_t timeout)
Puts the current thread to sleep into the specified state with timeout specification.
void chDbgCheckClassS(void)
S-class functions context check.
#define MSG_TIMEOUT
Wake-up caused by a timeout condition.
msg_t sntmsg
Sent message.
#define TIME_INFINITE
Infinite time specification for all functions with a timeout specification.
thread_t * tp
Pointer to thread.
#define NIL_STATE_WTMSG
Waiting for a message.
void chMsgRelease(thread_t *tp, msg_t msg)
Releases a sender thread specifying a response message.
#define chDbgCheck(c)
Function parameters check.
thread_t * chMsgWait(void)
Suspends the thread and waits for an incoming message.
os_instance_t nil
System data structures.
#define chMsgWaitS()
Suspends the thread and waits for an incoming message.
Structure representing a thread.
#define chDbgAssert(c, r)
Condition assertion.
thread_t * chMsgWaitTimeoutS(sysinterval_t timeout)
Suspends the thread and waits for an incoming message or a timeout to occur.
tstate_t state
Thread state.
msg_t chMsgSend(thread_t *tp, msg_t msg)
Sends a message to the specified thread.
thread_t * current
Pointer to the running thread.
#define chMsgReleaseS(tp, msg)
Releases the thread waiting on top of the messages queue.
uint32_t sysinterval_t
Type of time interval.
Nil RTOS main header file.
thread_t * nil_find_thread(tstate_t state, void *p)
Retrieves the highest priority thread in the specified state and associated to the specified object.
#define NIL_STATE_SNDMSGQ
Sending a message, in queue.
#define chSysUnlock()
Leaves the kernel lock state.
thread_t * chMsgWaitTimeout(sysinterval_t timeout)
Suspends the thread and waits for an incoming message or a timeout to occur.
#define chSysLock()
Enters the kernel lock state.