aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/hle/kernel/thread.h
diff options
context:
space:
mode:
authorGravatar bunnei <bunneidev@gmail.com>2015-01-07 20:45:05 -0500
committerGravatar bunnei <bunneidev@gmail.com>2015-01-07 20:45:05 -0500
commit91d96840ea698edaf5f2b6e8522d18f00bb18d9c (patch)
treee9e6288406b16f2a8dd10236c96567a895af3410 /src/core/hle/kernel/thread.h
parentb659cac2dc67ee97297049fcfb02c1ce186ffcb0 (diff)
parent60a373a7862a85b8b030ea1b18d01d364ddf8a8b (diff)
Merge pull request #439 from Subv/idle_thread_m
Threads: Use a dummy idle thread when no other are ready.
Diffstat (limited to 'src/core/hle/kernel/thread.h')
-rw-r--r--src/core/hle/kernel/thread.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/core/hle/kernel/thread.h b/src/core/hle/kernel/thread.h
index 0e1397cd..dfe92d16 100644
--- a/src/core/hle/kernel/thread.h
+++ b/src/core/hle/kernel/thread.h
@@ -104,6 +104,17 @@ ResultVal<u32> GetThreadPriority(const Handle handle);
/// Set the priority of the thread specified by handle
ResultCode SetThreadPriority(Handle handle, s32 priority);
+/**
+ * Sets up the idle thread, this is a thread that is intended to never execute instructions,
+ * only to advance the timing. It is scheduled when there are no other ready threads in the thread queue
+ * and will try to yield on every call.
+ * @returns The handle of the idle thread
+ */
+Handle SetupIdleThread();
+
+/// Whether the current thread is an idle thread
+bool IsIdleThread(Handle thread);
+
/// Initialize threading
void ThreadingInit();