diff options
author | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2016-04-12 23:52:41 -0400 |
---|---|---|
committer | Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl> | 2016-04-21 00:21:33 -0400 |
commit | 921f831d3e2e27a0da16d93ad3dc468263a63320 (patch) | |
tree | fe97928c18dba6cd939d0baeb9065c493e1594d9 /src | |
parent | 95365a576f7e81f3e2f02fa3e8225c4b03f12214 (diff) |
logind: make KillOnlyUsers override KillUserProcesses
Instead of KillOnlyUsers being a filter for KillUserProcesses, it can now be
used to specify users to kill, independently of the KillUserProcesses
setting. Having the settings orthogonal seems to make more sense. It also
makes KillOnlyUsers symmetrical to KillExcludeUsers.
Diffstat (limited to 'src')
-rw-r--r-- | src/login/logind-core.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/login/logind-core.c b/src/login/logind-core.c index 73075274e0..cbf8d757fe 100644 --- a/src/login/logind-core.c +++ b/src/login/logind-core.c @@ -364,19 +364,16 @@ bool manager_shall_kill(Manager *m, const char *user) { assert(m); assert(user); - if (!m->kill_user_processes) - return false; - if (!m->kill_exclude_users && streq(user, "root")) return false; if (strv_contains(m->kill_exclude_users, user)) return false; - if (strv_isempty(m->kill_only_users)) - return true; + if (!strv_isempty(m->kill_only_users)) + return strv_contains(m->kill_only_users, user); - return strv_contains(m->kill_only_users, user); + return m->kill_user_processes; } static int vt_is_busy(unsigned int vtnr) { |