From ceb36fc81de53315c222c300154fabc7c4dd3a52 Mon Sep 17 00:00:00 2001 From: "Unknown W. Brackets" Date: Sat, 28 May 2016 16:17:33 -0700 Subject: [PATCH] ThreadEvent: Allow an exit event handler on self. --- Core/HLE/sceKernelThread.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Core/HLE/sceKernelThread.cpp b/Core/HLE/sceKernelThread.cpp index e8b08482fa..83149b4104 100644 --- a/Core/HLE/sceKernelThread.cpp +++ b/Core/HLE/sceKernelThread.cpp @@ -3563,7 +3563,10 @@ SceUID sceKernelRegisterThreadEventHandler(const char *name, SceUID threadID, u3 return hleReportError(SCEKERNEL, SCE_KERNEL_ERROR_ERROR, "invalid name"); } if (threadID == 0) { - return hleReportError(SCEKERNEL, SCE_KERNEL_ERROR_ILLEGAL_ATTR, "invalid thread id"); + // "atexit"? + if (mask != THREADEVENT_EXIT) { + return hleReportError(SCEKERNEL, SCE_KERNEL_ERROR_ILLEGAL_ATTR, "invalid thread id"); + } } u32 error; if (kernelObjects.Get(threadID, error) == NULL && threadID != SCE_TE_THREADID_ALL_USER) {