diff options
author | Mark Laws <mdl@60hz.org> | 2022-11-24 14:56:29 +0900 |
---|---|---|
committer | Mark Laws <mdl@60hz.org> | 2022-11-24 19:41:36 +0900 |
commit | 98b6c94b577205d31b019286c2a84cc9af244ea0 (patch) | |
tree | 687f08891e17919f63a7aee76639e697f868af61 /src/login | |
parent | 5fa098357e0ea9f05b00ed5b04a36ef9f64037db (diff) | |
download | systemd-98b6c94b577205d31b019286c2a84cc9af244ea0.tar.gz |
systemd: Default to OOMPolicy=continue for login session scopes
If the kernel OOM kills a process under a login session scope, we don't want to
kill the user's other processes for no good reason.
Diffstat (limited to 'src/login')
-rw-r--r-- | src/login/logind-dbus.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/login/logind-dbus.c b/src/login/logind-dbus.c index 86a5decf3f..2ab26b9c6d 100644 --- a/src/login/logind-dbus.c +++ b/src/login/logind-dbus.c @@ -3970,6 +3970,12 @@ int manager_start_scope( if (r < 0) return r; + /* For login session scopes, if a process is OOM killed by the kernel, *don't* terminate the rest of + the scope */ + r = sd_bus_message_append(m, "(sv)", "OOMPolicy", "s", "continue"); + if (r < 0) + return r; + /* disable TasksMax= for the session scope, rely on the slice setting for it */ r = sd_bus_message_append(m, "(sv)", "TasksMax", "t", UINT64_MAX); if (r < 0) |