diff options
| author | Lioncash <mathew1800@gmail.com> | 2019-04-17 07:08:12 -0400 |
|---|---|---|
| committer | Lioncash <mathew1800@gmail.com> | 2019-04-17 09:30:56 -0400 |
| commit | 433b59c1121a257ae3c1503fff5b71d3f3852ab5 (patch) | |
| tree | 23f4cbe699ff28d3f5907aff55f49081623d419b /src/core/hle/kernel/thread.cpp | |
| parent | 0cfbd3325b2f53449a58669b3911eab52084f86c (diff) | |
kernel/svc: Migrate svcCancelSynchronization behavior to a thread function
The actual behavior of this function is slightly more complex than what
we're currently doing within the supervisor call. To avoid dumping most
of this behavior in the supervisor call itself, we can migrate this to
another function.
Diffstat (limited to 'src/core/hle/kernel/thread.cpp')
| -rw-r--r-- | src/core/hle/kernel/thread.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp index ca52267b2..7d4fe9608 100644 --- a/src/core/hle/kernel/thread.cpp +++ b/src/core/hle/kernel/thread.cpp @@ -142,6 +142,12 @@ void Thread::ResumeFromWait() { ChangeScheduler(); } +void Thread::CancelWait() { + ASSERT(GetStatus() == ThreadStatus::WaitSynchAny); + SetWaitSynchronizationResult(ERR_SYNCHRONIZATION_CANCELED); + ResumeFromWait(); +} + /** * Resets a thread context, making it ready to be scheduled and run by the CPU * @param context Thread context to reset |
