From 940433dfe3219a6b11393c06c01c6fcd6c01c2ad Mon Sep 17 00:00:00 2001 From: Marcin Mielczarczyk Date: Thu, 23 Apr 2026 16:30:29 +0200 Subject: [PATCH] ARRISEOS-48505: Use SIGRTMIN instead of SIGUSR1 in WPE SIGUSR1 is used by GStreamer for pipeline debug dumps or mem leak tracers. Use a real-time signal instead so that sending SIGUSR1 to WPEWebProcess reaches GStreamer. --- Source/WTF/wtf/posix/ThreadingPOSIX.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/Source/WTF/wtf/posix/ThreadingPOSIX.cpp b/Source/WTF/wtf/posix/ThreadingPOSIX.cpp index e5f47612691d1..667963947805a 100644 --- a/Source/WTF/wtf/posix/ThreadingPOSIX.cpp +++ b/Source/WTF/wtf/posix/ThreadingPOSIX.cpp @@ -178,7 +178,13 @@ void Thread::signalHandlerSuspendResume(int, siginfo_t*, void* ucontext) void Thread::initializePlatformThreading() { if (!g_wtfConfig.isUserSpecifiedThreadSuspendResumeSignalConfigured) { +#if PLATFORM(WPE) + // SIGUSR1 is used by GStreamer for pipeline debug dumps or mem leak tracers. + // Use a real-time signal instead so that sending SIGUSR1 to WPEWebProcess reaches GStreamer. + g_wtfConfig.sigThreadSuspendResume = SIGRTMIN; +#else g_wtfConfig.sigThreadSuspendResume = SIGUSR1; +#endif if (const char* string = getenv("JSC_SIGNAL_FOR_GC")) { int32_t value = 0; if (sscanf(string, "%d", &value) == 1)