kernel: changed main thread priority to default, updated Kernel::Reschedule to use PrepareReschedule

This commit is contained in:
bunnei 2014-06-01 21:42:50 -04:00
parent e8a17ee6fd
commit 10447d1f48
6 changed files with 17 additions and 9 deletions

View file

@ -14,6 +14,7 @@
namespace Kernel {
Handle g_main_thread = 0;
ObjectPool g_object_pool;
ObjectPool::ObjectPool() {
@ -150,7 +151,7 @@ bool LoadExec(u32 entry_point) {
Core::g_app_core->SetPC(entry_point);
// 0x30 is the typical main thread priority I've seen used so far
Handle thread = Kernel::SetupMainThread(0x30);
g_main_thread = Kernel::SetupMainThread(THREADPRIO_DEFAULT);
return true;
}

View file

@ -163,6 +163,7 @@ private:
};
extern ObjectPool g_object_pool;
extern Handle g_main_thread;
/**
* Loads executable stored at specified address

View file

@ -285,11 +285,11 @@ Handle CreateThread(const char* name, u32 entry_point, s32 priority, u32 arg, s3
HLE::EatCycles(32000);
CallThread(t);
// This won't schedule to the new thread, but it may to one woken from eating cycles.
// Technically, this should not eat all at once, and reschedule in the middle, but that's hard.
HLE::ReSchedule("thread created");
CallThread(t);
//HLE::Reschedule("thread created");
return handle;
}