diff options
author | Subv <subv2112@gmail.com> | 2017-08-21 20:54:29 -0500 |
---|---|---|
committer | Subv <subv2112@gmail.com> | 2017-08-21 20:54:29 -0500 |
commit | fa228ca637b84e6441879769d54a531ab6aba113 (patch) | |
tree | 92729fe35a289864815b9c791ecdbcac511c1e98 /src | |
parent | 46d1ca768d9ee2856b663ee68c8d7fdd7b160a7e (diff) |
Kernel/Threads: Don't immediately switch to the new main thread when loading a new process.
This is necessary for loading multiple processes at the same time.
The main thread will be automatically scheduled when necessary once the scheduler runs.
Diffstat (limited to 'src')
-rw-r--r-- | src/core/hle/kernel/thread.cpp | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp index f5f2eb2f7..b957c45dd 100644 --- a/src/core/hle/kernel/thread.cpp +++ b/src/core/hle/kernel/thread.cpp @@ -478,8 +478,6 @@ void Thread::BoostPriority(s32 priority) { } SharedPtr<Thread> SetupMainThread(u32 entry_point, s32 priority) { - DEBUG_ASSERT(!GetCurrentThread()); - // Initialize new "main" thread auto thread_res = Thread::Create("main", entry_point, priority, 0, THREADPROCESSORID_0, Memory::HEAP_VADDR_END); @@ -489,9 +487,7 @@ SharedPtr<Thread> SetupMainThread(u32 entry_point, s32 priority) { thread->context.fpscr = FPSCR_DEFAULT_NAN | FPSCR_FLUSH_TO_ZERO | FPSCR_ROUND_TOZERO | FPSCR_IXC; // 0x03C00010 - // Run new "main" thread - SwitchContext(thread.get()); - + // Note: The newly created thread will be run when the scheduler fires. return thread; } |