diff options
author | Linus Nielsen Feltzing <linus@haxx.se> | 2002-05-08 08:41:19 +0000 |
---|---|---|
committer | Linus Nielsen Feltzing <linus@haxx.se> | 2002-05-08 08:41:19 +0000 |
commit | 48d38d918f2f296d9283ae76a42f7c1fbf20d38d (patch) | |
tree | f4429af11226c5576233f64d3b1b281cdb6d7996 | |
parent | b900a830463cd2073ee9f67be1ee72b770efdeda (diff) | |
download | rockbox-48d38d918f2f296d9283ae76a42f7c1fbf20d38d.tar.gz rockbox-48d38d918f2f296d9283ae76a42f7c1fbf20d38d.zip |
sleep() always sleeps at least one tick
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@509 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r-- | firmware/kernel.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/firmware/kernel.c b/firmware/kernel.c index afdb0bd1d3..06b2fc1039 100644 --- a/firmware/kernel.c +++ b/firmware/kernel.c @@ -37,12 +37,12 @@ void kernel_init(void) void sleep(int ticks) { - int timeout = current_tick + ticks; + /* Always sleep at least 1 tick */ + int timeout = current_tick + ticks + 1; - /* always yield at least once */ - do { + while (TIME_BEFORE( current_tick, timeout )) { yield(); - } while (TIME_BEFORE( current_tick, timeout )); + } } void yield(void) |