summaryrefslogtreecommitdiffstats
path: root/src/core
diff options
context:
space:
mode:
authorbunnei <ericbunnie@gmail.com>2014-05-21 03:00:10 +0200
committerbunnei <ericbunnie@gmail.com>2014-05-21 03:00:10 +0200
commitbed4e920fa17c6ab1e1cfde1f3ee81d0ca4aaff9 (patch)
treef2559f0855d1deff3324032639ed96ec7600e37a /src/core
parentthread: moved threading calls to the Kernel namespace (diff)
downloadyuzu-bed4e920fa17c6ab1e1cfde1f3ee81d0ca4aaff9.tar
yuzu-bed4e920fa17c6ab1e1cfde1f3ee81d0ca4aaff9.tar.gz
yuzu-bed4e920fa17c6ab1e1cfde1f3ee81d0ca4aaff9.tar.bz2
yuzu-bed4e920fa17c6ab1e1cfde1f3ee81d0ca4aaff9.tar.lz
yuzu-bed4e920fa17c6ab1e1cfde1f3ee81d0ca4aaff9.tar.xz
yuzu-bed4e920fa17c6ab1e1cfde1f3ee81d0ca4aaff9.tar.zst
yuzu-bed4e920fa17c6ab1e1cfde1f3ee81d0ca4aaff9.zip
Diffstat (limited to 'src/core')
-rw-r--r--src/core/hle/kernel/thread.cpp16
-rw-r--r--src/core/hle/kernel/thread.h3
2 files changed, 11 insertions, 8 deletions
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp
index 7b4f0ea47..af9188faa 100644
--- a/src/core/hle/kernel/thread.cpp
+++ b/src/core/hle/kernel/thread.cpp
@@ -200,8 +200,15 @@ Thread* __NextThread() {
return Kernel::g_object_pool.GetFast<Thread>(next);
}
+/// Puts a thread in the wait state for the given type/reason
+void __WaitCurThread(WaitType wait_type, const char* reason) {
+ Thread* t = __GetCurrentThread();
+ t->wait_type = wait_type;
+ __ChangeThreadState(t, ThreadStatus(THREADSTATUS_WAIT | (t->status & THREADSTATUS_SUSPEND)));
+}
+
/// Resumes a thread from waiting by marking it as "ready"
-void __ResumeThreadFromWait(Handle handle) {
+void ResumeThreadFromWait(Handle handle) {
u32 error;
Thread* t = Kernel::g_object_pool.Get<Thread>(handle, error);
if (t) {
@@ -212,13 +219,6 @@ void __ResumeThreadFromWait(Handle handle) {
}
}
-/// Puts a thread in the wait state for the given type/reason
-void __WaitCurThread(WaitType wait_type, const char* reason) {
- Thread* t = __GetCurrentThread();
- t->wait_type = wait_type;
- __ChangeThreadState(t, ThreadStatus(THREADSTATUS_WAIT | (t->status & THREADSTATUS_SUSPEND)));
-}
-
/// Creates a new thread
Thread* CreateThread(Handle& handle, const char* name, u32 entry_point, s32 priority,
s32 processor_id, u32 stack_top, int stack_size) {
diff --git a/src/core/hle/kernel/thread.h b/src/core/hle/kernel/thread.h
index 2c0199273..bb48ddc79 100644
--- a/src/core/hle/kernel/thread.h
+++ b/src/core/hle/kernel/thread.h
@@ -31,6 +31,9 @@ Handle SetupMainThread(s32 priority, int stack_size=Kernel::DEFAULT_STACK_SIZE);
/// Reschedules to the next available thread (call after current thread is suspended)
void Reschedule(const char* reason);
+/// Resumes a thread from waiting by marking it as "ready"
+void ResumeThreadFromWait(Handle handle);
+
/// Gets the current thread
Handle GetCurrentThread();