diff --git a/CHANGES b/CHANGES index 8901934e6..e14ec7bcb 100644 --- a/CHANGES +++ b/CHANGES @@ -21,6 +21,7 @@ Bugfixes: - Wii: Fix framelimiting after a slowdown - PSP2: Fix gyroscope direction - Qt: Fix hanging key press after disabling autofire + - PSP2: Delete threads after they return Misc: - 3DS: Use blip_add_delta_fast for a small speed improvement - OpenGL: Log shader compilation failure diff --git a/src/platform/psp2/threading.h b/src/platform/psp2/threading.h index 54fdcb243..07388bed8 100644 --- a/src/platform/psp2/threading.h +++ b/src/platform/psp2/threading.h @@ -132,7 +132,11 @@ static inline int ThreadCreate(Thread* thread, ThreadEntry entry, void* context) } static inline int ThreadJoin(Thread thread) { - return sceKernelWaitThreadEnd(thread, 0, 0); + int res = sceKernelWaitThreadEnd(thread, 0, 0); + if (res < 0) { + return res; + } + return sceKernelDeleteThread(thread); } static inline int ThreadSetName(const char* name) {