summaryrefslogtreecommitdiffstats
path: root/firmware
diff options
context:
space:
mode:
authorLinus Nielsen Feltzing <linus@haxx.se>2002-05-08 08:41:19 +0000
committerLinus Nielsen Feltzing <linus@haxx.se>2002-05-08 08:41:19 +0000
commit48d38d918f2f296d9283ae76a42f7c1fbf20d38d (patch)
treef4429af11226c5576233f64d3b1b281cdb6d7996 /firmware
parentb900a830463cd2073ee9f67be1ee72b770efdeda (diff)
downloadrockbox-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
Diffstat (limited to 'firmware')
-rw-r--r--firmware/kernel.c8
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)