From ac2c44ddd9b6dec6805b4fe698e4621a416d59d7 Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Sat, 28 Jun 2014 12:29:55 -0700 Subject: [PATCH] Revert the early wake of threads for io waits. This reverts commit 610ada87214c60a8e5b1f5f742135abbc5cf2544. It makes sense to let these run longer. Apparently this caused problems in Castlevania, see #6432. --- Core/HLE/sceIo.cpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Core/HLE/sceIo.cpp b/Core/HLE/sceIo.cpp index dfcaf69be1..f62666f916 100644 --- a/Core/HLE/sceIo.cpp +++ b/Core/HLE/sceIo.cpp @@ -324,7 +324,6 @@ void __IoAsyncNotify(u64 userdata, int cyclesLate) { u32 address = __KernelGetWaitValue(threadID, error); if (HLEKernel::VerifyWait(threadID, WAITTYPE_ASYNCIO, f->GetUID())) { HLEKernel::ResumeFromWait(threadID, WAITTYPE_ASYNCIO, f->GetUID(), 0); - __KernelReSchedule("async io completed"); // Someone woke up, so it's no longer got one. f->hasAsyncResult = false; @@ -361,9 +360,7 @@ void __IoSyncNotify(u64 userdata, int cyclesLate) { ERROR_LOG(SCEIO, "Unable to complete IO operation on %s", f->GetName()); } - if (HLEKernel::ResumeFromWait(threadID, WAITTYPE_IO, fd, result)) { - __KernelReSchedule("io completed"); - } + HLEKernel::ResumeFromWait(threadID, WAITTYPE_IO, fd, result); } void __IoAsyncBeginCallback(SceUID threadID, SceUID prevCallbackId) {