util: Restore the NOFILE limit before spawning apps
Make sure the restore the original NOFILE limit prior to run the commands so those don't inherit from the raised value. Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2117>
This commit is contained in:
parent
bafacdf629
commit
3fc7357e3f
@ -111,9 +111,16 @@ function spawnApp(argv) {
|
|||||||
function trySpawn(argv) {
|
function trySpawn(argv) {
|
||||||
var success_, pid;
|
var success_, pid;
|
||||||
try {
|
try {
|
||||||
[success_, pid] = GLib.spawn_async(null, argv, null,
|
[success_, pid] = GLib.spawn_async(
|
||||||
GLib.SpawnFlags.SEARCH_PATH | GLib.SpawnFlags.DO_NOT_REAP_CHILD,
|
null, argv, null,
|
||||||
null);
|
GLib.SpawnFlags.SEARCH_PATH | GLib.SpawnFlags.DO_NOT_REAP_CHILD,
|
||||||
|
() => {
|
||||||
|
try {
|
||||||
|
global.context.restore_rlimit_nofile();
|
||||||
|
} catch (err) {
|
||||||
|
}
|
||||||
|
}
|
||||||
|
);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
/* Rewrite the error in case of ENOENT */
|
/* Rewrite the error in case of ENOENT */
|
||||||
if (err.matches(GLib.SpawnError, GLib.SpawnError.NOENT)) {
|
if (err.matches(GLib.SpawnError, GLib.SpawnError.NOENT)) {
|
||||||
|
Loading…
Reference in New Issue
Block a user