summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilent <zdanio95@gmail.com>2019-11-15 23:05:48 +0100
committerRick Gibbed <rick@gibbed.us>2019-11-30 20:08:30 -0600
commit05ef022fd72357bc72750a0c6529eacba74e76fd (patch)
treec402b5fcd9c3244bab843dbaaeedcf4b7a0370ae
parent5bec69e9837a244c3a8e878e01477b237327df5b (diff)
[Kernel] Do not retain handle in ExCreateThread
Closing the thread handle should delete the thread object if it's finished. When this handle was retained, closing the handle left a lingering handle reference and thus this XThread would leak
-rw-r--r--src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc1
1 files changed, 0 insertions, 1 deletions
diff --git a/src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc b/src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc
index c601b51da..4800f0455 100644
--- a/src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc
+++ b/src/xenia/kernel/xboxkrnl/xboxkrnl_threading.cc
@@ -138,7 +138,6 @@ 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();
}
}