summaryrefslogtreecommitdiff
path: root/apps
diff options
context:
space:
mode:
authorBrandon Low <lostlogic@rockbox.org>2006-11-11 05:33:24 +0000
committerBrandon Low <lostlogic@rockbox.org>2006-11-11 05:33:24 +0000
commit8a82892e52127f50efaafaeda3ae841e8bbefe2d (patch)
tree1dfa1a18c05018045db4fe8e67d1dc3fbc5a2d72 /apps
parent806d8f3505ef7e477f9af4d1b07fe30cd1f28fb3 (diff)
downloadrockbox-8a82892e52127f50efaafaeda3ae841e8bbefe2d.zip
rockbox-8a82892e52127f50efaafaeda3ae841e8bbefe2d.tar.gz
rockbox-8a82892e52127f50efaafaeda3ae841e8bbefe2d.tar.bz2
rockbox-8a82892e52127f50efaafaeda3ae841e8bbefe2d.tar.xz
Thread API enhancements.
1) block_thread -> block_thread + block_thread_w_tmo -- this call was always used in distinct ways so having one call with a conditional was ugly. 2) enhance Slasheri's scheduler controlled boost concept. now any thread may trigger a boost which will last until that thread next sleeps. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@11509 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps')
-rw-r--r--apps/playback.c6
-rw-r--r--apps/tree.c4
2 files changed, 6 insertions, 4 deletions
diff --git a/apps/playback.c b/apps/playback.c
index 6fed765..62dd039 100644
--- a/apps/playback.c
+++ b/apps/playback.c
@@ -2151,7 +2151,11 @@ static bool audio_yield_codecs(void)
while ((pcmbuf_is_crossfade_active() || pcmbuf_is_lowdata())
&& !ci.stop_codec && playing && !audio_filebuf_is_lowdata())
{
- sleep(1);
+ if (filling)
+ yield();
+ else
+ sleep(2);
+
if (!queue_empty(&audio_queue))
return true;
}
diff --git a/apps/tree.c b/apps/tree.c
index 6465b50..623046a 100644
--- a/apps/tree.c
+++ b/apps/tree.c
@@ -1229,7 +1229,7 @@ bool create_playlist(void)
if (fd < 0)
return false;
- cpu_boost_id(true, CPUBOOSTID_TREE);
+ trigger_cpu_boost();
snprintf(filename, sizeof(filename), "%s",
tc.currdir[1] ? tc.currdir : "/");
@@ -1237,8 +1237,6 @@ bool create_playlist(void)
add_dir(filename, sizeof(filename), fd);
close(fd);
- cpu_boost_id(false, CPUBOOSTID_TREE);
-
sleep(HZ);
return true;