tools: Disable fault signal handlers in gst-launch/gst-validate on macOS
authorPiotr Brzeziński <piotr@centricular.com>
Tue, 15 Aug 2023 14:01:28 +0000 (16:01 +0200)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Fri, 18 Aug 2023 14:40:24 +0000 (14:40 +0000)
commitc2c2bc2ec2cbb306057bb87f59aa3a7c3ebed623
treee681616d94afeaef2b7825df41cfeaedd62805fc
parentc98cf346a9aec08e30f6652cb7b5be1763bb9f0a
tools: Disable fault signal handlers in gst-launch/gst-validate on macOS

By default, macOS attempts to run lldb against a misbehaving process to handle the crash. This does not play well
with the SISEGV/SIGQUIT handler we add in gst-launch/gst-validate. The 'spinning' mechanism causes the lldb
and debugserver processes ran by macOS to misbehave, taking 100% CPU and rendering both themselves and the GStreamer
instance frozen and very hard to effectively kill. macOS's Activity Monitor is also unusable while this is happening.

This patch takes the quickest possible solution of just disabling those signal handlers entirely on macOS.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/5201>
subprojects/gst-devtools/validate/gst/validate/gst-validate-utils.c
subprojects/gstreamer/tools/gst-launch.c