diff options
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 a5f1904d7..690d33b55 100644 --- a/src/core/hle/kernel/thread.cpp +++ b/src/core/hle/kernel/thread.cpp | |||
| @@ -109,6 +109,8 @@ void Thread::Stop() { | |||
| 109 | } | 109 | } |
| 110 | 110 | ||
| 111 | Kernel::g_current_process->used_tls_slots[tls_index] = false; | 111 | Kernel::g_current_process->used_tls_slots[tls_index] = false; |
| 112 | |||
| 113 | HLE::Reschedule(__func__); | ||
| 112 | } | 114 | } |
| 113 | 115 | ||
| 114 | Thread* ArbitrateHighestPriorityThread(u32 address) { | 116 | Thread* ArbitrateHighestPriorityThread(u32 address) { |
| @@ -232,6 +234,8 @@ static Thread* PopNextReadyThread() { | |||
| 232 | void WaitCurrentThread_Sleep() { | 234 | void WaitCurrentThread_Sleep() { |
| 233 | Thread* thread = GetCurrentThread(); | 235 | Thread* thread = GetCurrentThread(); |
| 234 | thread->status = THREADSTATUS_WAIT_SLEEP; | 236 | thread->status = THREADSTATUS_WAIT_SLEEP; |
| 237 | |||
| 238 | HLE::Reschedule(__func__); | ||
| 235 | } | 239 | } |
| 236 | 240 | ||
| 237 | void WaitCurrentThread_WaitSynchronization(std::vector<SharedPtr<WaitObject>> wait_objects, bool wait_set_output, bool wait_all) { | 241 | void WaitCurrentThread_WaitSynchronization(std::vector<SharedPtr<WaitObject>> wait_objects, bool wait_set_output, bool wait_all) { |
| @@ -431,6 +435,8 @@ ResultVal<SharedPtr<Thread>> Thread::Create(std::string name, VAddr entry_point, | |||
| 431 | ready_queue.push_back(thread->current_priority, thread.get()); | 435 | ready_queue.push_back(thread->current_priority, thread.get()); |
| 432 | thread->status = THREADSTATUS_READY; | 436 | thread->status = THREADSTATUS_READY; |
| 433 | 437 | ||
| 438 | HLE::Reschedule(__func__); | ||
| 439 | |||
| 434 | return MakeResult<SharedPtr<Thread>>(std::move(thread)); | 440 | return MakeResult<SharedPtr<Thread>>(std::move(thread)); |
| 435 | } | 441 | } |
| 436 | 442 | ||