Kernel: Reschedule on SignalEvent and SendSyncRequest, fix some bugs.

This commit is contained in:
bunnei 2015-01-18 18:01:58 -05:00
parent dde02f79af
commit d2759c578e
2 changed files with 2 additions and 1 deletions

View file

@ -35,9 +35,9 @@ Thread* WaitObject::ReleaseNextThread() {
return nullptr; return nullptr;
auto next_thread = waiting_threads.front(); auto next_thread = waiting_threads.front();
waiting_threads.erase(waiting_threads.begin());
next_thread->ReleaseWaitObject(this); next_thread->ReleaseWaitObject(this);
waiting_threads.erase(waiting_threads.begin());
return next_thread.get(); return next_thread.get();
} }

View file

@ -405,6 +405,7 @@ static Result DuplicateHandle(Handle* out, Handle handle) {
/// Signals an event /// Signals an event
static Result SignalEvent(Handle evt) { static Result SignalEvent(Handle evt) {
LOG_TRACE(Kernel_SVC, "called event=0x%08X", evt); LOG_TRACE(Kernel_SVC, "called event=0x%08X", evt);
HLE::Reschedule(__func__);
return Kernel::SignalEvent(evt).raw; return Kernel::SignalEvent(evt).raw;
} }