From 648dd5f154d3a32fb9ba0b846a972cf1c56a8ce3 Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Mon, 2 Sep 2013 13:40:59 -0700 Subject: [PATCH] Don't allow sceKernelWakeupThread() on cur thread. I don't know why you wouldn't allow this, but the PSP firmware doesn't. --- Core/HLE/sceKernelThread.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Core/HLE/sceKernelThread.cpp b/Core/HLE/sceKernelThread.cpp index b1b546f8c9..397baa769c 100644 --- a/Core/HLE/sceKernelThread.cpp +++ b/Core/HLE/sceKernelThread.cpp @@ -2570,6 +2570,12 @@ bool __KernelThreadSortPriority(SceUID thread1, SceUID thread2) ////////////////////////////////////////////////////////////////////////// int sceKernelWakeupThread(SceUID uid) { + if (uid == currentThread) + { + WARN_LOG_REPORT(HLE, "sceKernelWakeupThread(%i): unable to wakeup current thread", uid); + return SCE_KERNEL_ERROR_ILLEGAL_THID; + } + u32 error; Thread *t = kernelObjects.Get(uid, error); if (t)