Kernel: Reschedule on SignalEvent and SendSyncRequest, fix some bugs.
This commit is contained in:
parent
dde02f79af
commit
d2759c578e
|
@ -35,9 +35,9 @@ Thread* WaitObject::ReleaseNextThread() {
|
|||
return nullptr;
|
||||
|
||||
auto next_thread = waiting_threads.front();
|
||||
waiting_threads.erase(waiting_threads.begin());
|
||||
|
||||
next_thread->ReleaseWaitObject(this);
|
||||
waiting_threads.erase(waiting_threads.begin());
|
||||
|
||||
return next_thread.get();
|
||||
}
|
||||
|
|
|
@ -405,6 +405,7 @@ static Result DuplicateHandle(Handle* out, Handle handle) {
|
|||
/// Signals an event
|
||||
static Result SignalEvent(Handle evt) {
|
||||
LOG_TRACE(Kernel_SVC, "called event=0x%08X", evt);
|
||||
HLE::Reschedule(__func__);
|
||||
return Kernel::SignalEvent(evt).raw;
|
||||
}
|
||||
|
||||
|
|
Reference in New Issue