From 64b2be92d64361c437c6ba1de6f82296200be75b Mon Sep 17 00:00:00 2001 From: gibbed Date: Mon, 3 Dec 2018 12:09:24 -0600 Subject: [PATCH] [Kernel] Retain handle in ExCreateThread. Game closing a created thread's handle shouldn't result in its handle being freed. --- src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc | 1 + 1 file changed, 1 insertion(+) diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc index 1d7a9a55e..fc220404e 100644 --- a/src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc +++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc @@ -136,6 +136,7 @@ dword_result_t ExCreateThread(lpdword_t handle_ptr, dword_t stack_size, if (creation_flags & 0x80) { *handle_ptr = thread->guest_object(); } else { + thread->RetainHandle(); *handle_ptr = thread->handle(); } }