From fe47f5cc3039976afb3bd464e5f2488aa8375987 Mon Sep 17 00:00:00 2001 From: Wouter Wijsman Date: Mon, 7 Jul 2025 19:07:33 +0200 Subject: [PATCH] PSP: Truncate thread name when passing to sceKernelCreateThread (cherry picked from commit c64518f3004cff13f15280a8eef6a83a60321741) --- src/thread/psp/SDL_systhread.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/thread/psp/SDL_systhread.c b/src/thread/psp/SDL_systhread.c index 3d6071893b..2c500cb8ad 100644 --- a/src/thread/psp/SDL_systhread.c +++ b/src/thread/psp/SDL_systhread.c @@ -32,6 +32,8 @@ #include #include +#define PSP_THREAD_NAME_MAX 32 + static int ThreadEntry(SceSize args, void *argp) { SDL_RunThread(*(SDL_Thread **)argp); @@ -44,6 +46,7 @@ bool SDL_SYS_CreateThread(SDL_Thread *thread, { SceKernelThreadInfo status; int priority = 32; + char thread_name[PSP_THREAD_NAME_MAX]; // Set priority of new thread to the same as the current thread status.size = sizeof(SceKernelThreadInfo); @@ -51,7 +54,12 @@ bool SDL_SYS_CreateThread(SDL_Thread *thread, priority = status.currentPriority; } - thread->handle = sceKernelCreateThread(thread->name, ThreadEntry, + SDL_strlcpy(thread_name, "SDL thread", PSP_THREAD_NAME_MAX); + if (thread->name) { + SDL_strlcpy(thread_name, thread->name, PSP_THREAD_NAME_MAX); + } + + thread->handle = sceKernelCreateThread(thread_name, ThreadEntry, priority, thread->stacksize ? ((int)thread->stacksize) : 0x8000, PSP_THREAD_ATTR_VFPU, NULL); if (thread->handle < 0) {