wayland/client: Restore the NOFILE limit
Make sure the restore the original NOFILE limit prior to run the trusted Wayland client so it does not inherit from the raised value. Part-of: <https://gitlab.gnome.org/GNOME/mutter/-/merge_requests/2235>
This commit is contained in:
parent
acded0648c
commit
8305c7bd06
@ -92,6 +92,15 @@ process_died (GObject *source,
|
|||||||
client->process_running = FALSE;
|
client->process_running = FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
child_setup (gpointer user_data)
|
||||||
|
{
|
||||||
|
MetaDisplay *display = user_data;
|
||||||
|
MetaContext *context = meta_display_get_context (display);
|
||||||
|
|
||||||
|
meta_context_restore_rlimit_nofile (context, NULL);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* meta_wayland_client_new:
|
* meta_wayland_client_new:
|
||||||
* @launcher: (not nullable): a GSubprocessLauncher to use to launch the subprocess
|
* @launcher: (not nullable): a GSubprocessLauncher to use to launch the subprocess
|
||||||
@ -196,6 +205,8 @@ meta_wayland_client_spawnv (MetaWaylandClient *client,
|
|||||||
compositor = meta_wayland_compositor_get_default ();
|
compositor = meta_wayland_compositor_get_default ();
|
||||||
g_subprocess_launcher_take_fd (client->launcher, client_fd[1], 3);
|
g_subprocess_launcher_take_fd (client->launcher, client_fd[1], 3);
|
||||||
g_subprocess_launcher_setenv (client->launcher, "WAYLAND_SOCKET", "3", TRUE);
|
g_subprocess_launcher_setenv (client->launcher, "WAYLAND_SOCKET", "3", TRUE);
|
||||||
|
g_subprocess_launcher_set_child_setup (client->launcher,
|
||||||
|
child_setup, display, NULL);
|
||||||
wayland_client = wl_client_create (compositor->wayland_display, client_fd[0]);
|
wayland_client = wl_client_create (compositor->wayland_display, client_fd[0]);
|
||||||
subprocess = g_subprocess_launcher_spawnv (client->launcher, argv, error);
|
subprocess = g_subprocess_launcher_spawnv (client->launcher, argv, error);
|
||||||
g_clear_object (&client->launcher);
|
g_clear_object (&client->launcher);
|
||||||
|
Loading…
Reference in New Issue
Block a user