aboutsummaryrefslogtreecommitdiffstats
path: root/src/chschd.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/chschd.c')
-rw-r--r--src/chschd.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/chschd.c b/src/chschd.c
index aad060ac9..3c17c3831 100644
--- a/src/chschd.c
+++ b/src/chschd.c
@@ -122,8 +122,10 @@ static void wakeup(void *p) {
* to sleep is awakened after the specified time has elapsed.
*
* @param newstate the new thread state
- * @param time the number of ticks before the operation timeouts. The value
- * zero (@p TIME_INFINITE) is allowed.
+ * @param time the number of ticks before the operation timeouts. The
+ * following special values are allowed:
+ * - @p TIME_ZERO immediate timeout.
+ * - @p TIME_INFINITE no timeout.
* @return The wakeup message.
* @retval RDY_TIMEOUT if a timeout occurs.
* @note The function must be called in the system mutex zone.
@@ -131,6 +133,8 @@ static void wakeup(void *p) {
*/
msg_t chSchGoSleepTimeoutS(tstate_t newstate, systime_t time) {
+ if (TIME_ZERO == time)
+ return RDY_OK;
if (TIME_INFINITE != time) {
VirtualTimer vt;