diff options
author | bunnei <ericbunnie@gmail.com> | 2014-05-21 03:00:10 +0200 |
---|---|---|
committer | bunnei <ericbunnie@gmail.com> | 2014-05-21 03:00:10 +0200 |
commit | bed4e920fa17c6ab1e1cfde1f3ee81d0ca4aaff9 (patch) | |
tree | f2559f0855d1deff3324032639ed96ec7600e37a /src/core | |
parent | thread: moved threading calls to the Kernel namespace (diff) | |
download | yuzu-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.cpp | 16 | ||||
-rw-r--r-- | src/core/hle/kernel/thread.h | 3 |
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(); |