From eed4f2e2293cb39352811b7af28b57e58875fb0c Mon Sep 17 00:00:00 2001 From: bunnei Date: Sat, 30 Dec 2017 12:05:10 -0500 Subject: thread: Main thread should be ready by default, all others dormant. --- src/core/hle/kernel/thread.cpp | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/src/core/hle/kernel/thread.cpp b/src/core/hle/kernel/thread.cpp index 1645437b6..32fa5e314 100644 --- a/src/core/hle/kernel/thread.cpp +++ b/src/core/hle/kernel/thread.cpp @@ -457,9 +457,6 @@ ResultVal> Thread::Create(std::string name, VAddr entry_point, // to initialize the context ResetThreadContext(thread->context, stack_top, entry_point, arg); - ready_queue.push_back(thread->current_priority, thread.get()); - thread->status = THREADSTATUS_READY; - return MakeResult>(std::move(thread)); } @@ -506,7 +503,9 @@ SharedPtr SetupMainThread(VAddr entry_point, u32 priority, SharedPtrcontext.fpscr = FPSCR_DEFAULT_NAN | FPSCR_FLUSH_TO_ZERO | FPSCR_ROUND_TOZERO | FPSCR_IXC; // 0x03C00010 - // Note: The newly created thread will be run when the scheduler fires. + // Threads by default are dormant, wake up the main thread so it runs when the scheduler fires + thread->ResumeFromWait(); + return thread; } -- cgit v1.2.3