gnome-shell/src
Marco Trevisan (Treviño) 781010be66 shell-util: Add async-signal-safe wrappers for GLib.spawn_async implementations
In the shell code we often use GLib.spawn_async to launch processes
with a GSpawnChildSetupFunc implementation in JavaScript to reset the
mutter nofile rlimit in the new child process.

However, this is highly unsafe to do because this implies that the child
setup function code is executed in gjs where a lot of allocations are
done and even more not-async-signal-safe code is executed, in fact
leading to dead-locks as reported in the past.

To prevent this, declare a new functions that do the same of the GLib
counterpart but without providing a GSpawnChildSetupFunc that is instead
implemented in the C-side doing the cleanup that mutter requires without
allocations or async-signal-unsafe code.

Helps: https://gitlab.gnome.org/GNOME/gnome-shell/-/issues/6698
Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3293>
2024-05-24 22:48:53 +00:00
..
calendar-server dateMenu: Use desktop action to open Evolution calendar 2023-02-12 20:14:02 +00:00
hotplug-sniffer hotplug-sniffer: Drop "volatile" from g_once_init_enter() sentinels 2021-03-22 11:12:23 +00:00
st croco: Remove unused and dodgy function 2024-05-20 13:42:11 +00:00
tray na-tray-child: Use absolute icon position as root event coordinates 2024-04-29 16:50:13 +00:00
data-to-c.pl build: Fix the path of perl for data-to-c.pl 2015-05-22 19:03:44 +08:00
gnome-shell-extension-prefs Add small gnome-shell-extension-prefs script 2020-04-28 00:06:19 +02:00
gnome-shell-extension-tool.in shell-extension-tool: Fix typo 2019-08-27 12:16:27 +03:00
gnome-shell-plugin.c plugin: Stop overriding xevent_filter 2024-02-20 13:51:30 +00:00
gnome-shell-portal-helper.c portalHelper: Port to ESM 2023-06-21 13:26:42 +02:00
gnome-shell-test-tool.in test-tool: Require script argument 2023-07-07 19:43:28 +02:00
gtkactionmuxer.c Stop using GSlice 2020-10-19 20:18:11 +02:00
gtkactionmuxer.h Also update gtkaction* 2014-01-09 14:59:31 -05:00
gtkactionobservable.c Update copy/paste code from upstream 2013-05-13 18:34:26 -04:00
gtkactionobservable.h Update copy/paste code from upstream 2013-05-13 18:34:26 -04:00
gtkactionobserver.c Also update gtkaction* 2014-01-09 14:59:31 -05:00
gtkactionobserver.h Also update gtkaction* 2014-01-09 14:59:31 -05:00
main.c tests: Drop wrapper script for unit test runner 2024-05-21 13:42:28 +00:00
meson.build tests: Drop wrapper script for unit test runner 2024-05-21 13:42:28 +00:00
org.gtk.Application.xml Generate GDBus proxy object for org.gtk.Application 2014-11-27 10:59:55 +00:00
run-js-test.c tests: Drop wrapper script for unit test runner 2024-05-21 13:42:28 +00:00
shell-action-modes.h *: Fix spelling mistakes found by codespell 2020-08-21 18:25:09 +00:00
shell-app-cache-private.h app-cache: add ShellAppCache for GAppInfo caching 2020-03-11 18:06:15 -07:00
shell-app-cache.c shell: Make singletons owned by ShellGlobal 2023-04-20 14:49:38 +02:00
shell-app-private.h shell: Use MetaStartupNotification 2018-11-23 13:58:35 +01:00
shell-app-system-private.h apps: Ensure running apps override new .desktop file data 2011-09-05 17:29:41 -04:00
shell-app-system.c shell-app-system: Give priority to .desktop IDs that should be shown 2023-04-20 15:11:58 +00:00
shell-app-system.h shell-app-system: Cache GAppInfos around 2019-01-26 22:55:31 +01:00
shell-app-usage.c window tracker: Adapt to renamed function 2024-02-08 16:45:06 +01:00
shell-app-usage.h app-usage: Remove crufty old "context"s idea 2018-11-17 12:08:33 +00:00
shell-app.c shell-app: Do not allocate memory during GSpawnChildSetupFunc 2024-05-24 22:48:53 +00:00
shell-app.h shell/app: Add method to activate an action via FDO DBus activation 2024-02-28 11:27:40 +01:00
shell-blur-effect.c cleanup: Adapt to removal of CoglPipeline.set_color_* 2024-02-16 12:34:30 +01:00
shell-blur-effect.h Pass 'radius' to blur APIs instead of 'sigma' 2023-12-14 18:20:59 +00:00
shell-camera-monitor.c shell/camera-monitor: Remove hooks before destroying objects 2023-08-15 20:36:07 +02:00
shell-camera-monitor.h shell: Add device monitor for cameras 2023-07-29 13:55:15 +03:00
shell-global-private.h shell: Remove left-over function declaration 2024-02-21 16:10:40 +01:00
shell-global.c shell/global: Don't force active workspace for launch context 2024-02-28 11:28:06 +01:00
shell-global.h shell: Make singletons owned by ShellGlobal 2023-04-20 14:49:38 +02:00
shell-glsl-effect.c st: Adapt to CoglObject removal 2023-10-29 21:28:31 +00:00
shell-glsl-effect.h shell: Drop unnecessary gtk header includes 2023-03-03 20:38:03 +00:00
shell-invert-lightness-effect.c st: Adapt to CoglObject removal 2023-10-29 21:28:31 +00:00
shell-invert-lightness-effect.h shell: Define COGL_ENABLE_EXPERIMENTAL_API and related defines globally 2014-08-07 14:49:54 -04:00
shell-keyring-prompt.c general: Remove periods from single sentences 2024-04-24 13:58:01 +02:00
shell-keyring-prompt.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-mount-operation.c *: Fix spelling mistakes found by codespell 2020-08-21 18:25:09 +00:00
shell-mount-operation.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-network-agent.c shell/network-agent: Add method to add VPN secrets to agent response 2020-12-25 11:43:13 +01:00
shell-network-agent.h shell/network-agent: Add method to add VPN secrets to agent response 2020-12-25 11:43:13 +01:00
shell-perf-helper.c shell/perf-helper: Port to GTK4 2023-06-07 11:12:40 +00:00
shell-perf-log.c src/shell: Plug some small leaks 2021-08-13 15:16:54 +02:00
shell-perf-log.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-polkit-authentication-agent.c src: Stop using g_get_current_time() 2019-08-09 19:22:18 +00:00
shell-polkit-authentication-agent.h build: Do not redefine polkit autocleanup 2022-05-17 14:04:01 +00:00
shell-screenshot.c shell/screenshot: Use MtkRegion 2023-11-03 16:21:51 +01:00
shell-screenshot.h Adapt to the new Mtk library 2023-08-31 03:44:32 +00:00
shell-secure-text-buffer.c build: Port to gcr4 2022-08-02 16:13:54 +00:00
shell-secure-text-buffer.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-square-bin.c iconGrid: Subclass a C actor for BaseIcon 2021-03-13 22:13:25 +00:00
shell-square-bin.h iconGrid: Subclass a C actor for BaseIcon 2021-03-13 22:13:25 +00:00
shell-stack.c Remove ClutterAllocationFlags 2020-05-20 15:12:03 +02:00
shell-stack.h shell: Drop unnecessary gtk header includes 2023-03-03 20:38:03 +00:00
shell-tray-icon-private.h shell: Move tray implementation away from GtkSocket 2023-03-03 13:34:44 +00:00
shell-tray-icon.c shell/tray-icon: Adapt to moved xwindow property to XWindow 2024-01-09 19:17:20 +01:00
shell-tray-icon.h shell: Move tray implementation away from GtkSocket 2023-03-03 13:34:44 +00:00
shell-tray-manager.c shell: Move tray implementation away from GtkSocket 2023-03-03 13:34:44 +00:00
shell-tray-manager.h shell/tray-manager: Allow to unmanage screen 2020-03-06 18:45:21 +00:00
shell-util.c shell-util: Add async-signal-safe wrappers for GLib.spawn_async implementations 2024-05-24 22:48:53 +00:00
shell-util.h shell-util: Add async-signal-safe wrappers for GLib.spawn_async implementations 2024-05-24 22:48:53 +00:00
shell-window-preview-layout.c shell/window-preview-layout: Adapt for ClutterContainer removal 2023-11-14 11:09:02 +00:00
shell-window-preview-layout.h Move WindowPreviewLayout from JS to C 2021-03-09 15:40:49 +00:00
shell-window-preview.c shell: Specify G_PARAM_EXPLICIT_NOTIFY where appropriate 2022-02-10 13:09:37 +00:00
shell-window-preview.h windowPreview: Subclass a C actor 2021-03-09 15:40:49 +00:00
shell-window-tracker-private.h apps: Ensure running apps override new .desktop file data 2011-09-05 17:29:41 -04:00
shell-window-tracker.c shell/window-tracker: Update docs on chromium shortcuts 2024-04-29 12:18:52 +00:00
shell-window-tracker.h shell: Hide/drop unused public API 2018-11-23 13:58:35 +01:00
shell-wm-private.h Adapt to the new Mtk library 2023-08-31 03:44:32 +00:00
shell-wm.c Adapt to the new Mtk library 2023-08-31 03:44:32 +00:00
shell-wm.h shell: Use G_DECLARE_*_TYPE macros 2015-10-15 22:58:28 +02:00
shell-workspace-background.c Adapt to the new Mtk library 2023-08-31 03:44:32 +00:00
shell-workspace-background.h workspace: Port WorkspaceBackground allocate to C 2022-08-03 12:30:31 +00:00