From 7b7322b2221ff551f8a11fb0d7a37fff3f29584c Mon Sep 17 00:00:00 2001 From: Konstantin Tomashevich Date: Wed, 18 Mar 2026 21:44:18 +0300 Subject: [PATCH] SDL_systhread.c: Remove SIGCHLD from blocked signal mask. When SIGCHLD is blocked, some executables (for example CMake) do not exit properly when executed using `SDL_CreateProcess` from any SDL thread (not main thread). `SDL_CreateProcessWithProperties` docs say that `SIGCHILD` should not be ignored or handled, therefore blocking it during thread creation is a likely reason for the bug. Should fix #15210. Signed-off-by: Konstantin Tomashevich (cherry picked from commit 291d1b6491992cdad2bb94c9b8ef9b4b9395d325) --- src/thread/pthread/SDL_systhread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/thread/pthread/SDL_systhread.c b/src/thread/pthread/SDL_systhread.c index 5ad354f8f2..09d3c896b8 100644 --- a/src/thread/pthread/SDL_systhread.c +++ b/src/thread/pthread/SDL_systhread.c @@ -60,7 +60,7 @@ #ifdef HAVE_SIGNAL_H // List of signals to mask in the subthreads static const int sig_list[] = { - SIGHUP, SIGINT, SIGQUIT, SIGPIPE, SIGALRM, SIGTERM, SIGCHLD, SIGWINCH, + SIGHUP, SIGINT, SIGQUIT, SIGPIPE, SIGALRM, SIGTERM, SIGWINCH, SIGVTALRM, SIGPROF, 0 }; #endif