diff options
author | David Herrmann <dh.herrmann@googlemail.com> | 2015-11-16 15:09:55 +0100 |
---|---|---|
committer | David Herrmann <dh.herrmann@googlemail.com> | 2015-11-16 15:09:55 +0100 |
commit | 44690833dfadb523c1f9b6a9e6e1dced44f374e1 (patch) | |
tree | 825ddf05390264473ceda190b668f3d501094d5c /src/login/logind-session.c | |
parent | e25b5a8d7380a86ea717b4038c45a8f882b1a2ae (diff) | |
parent | 541ec33075f9f2461b5286592312d2b50295ad32 (diff) |
Merge pull request #1886 from poettering/tasks-max
Enable TasksMax by default for all units
Diffstat (limited to 'src/login/logind-session.c')
-rw-r--r-- | src/login/logind-session.c | 26 |
1 files changed, 16 insertions, 10 deletions
diff --git a/src/login/logind-session.c b/src/login/logind-session.c index 1d561a6f8a..6c4ada29fb 100644 --- a/src/login/logind-session.c +++ b/src/login/logind-session.c @@ -513,25 +513,31 @@ static int session_start_scope(Session *s) { assert(s); assert(s->user); - assert(s->user->slice); if (!s->scope) { _cleanup_bus_error_free_ sd_bus_error error = SD_BUS_ERROR_NULL; - _cleanup_free_ char *description = NULL; char *scope, *job = NULL; - - description = strjoin("Session ", s->id, " of user ", s->user->name, NULL); - if (!description) - return log_oom(); + const char *description; scope = strjoin("session-", s->id, ".scope", NULL); if (!scope) return log_oom(); - r = manager_start_scope(s->manager, scope, s->leader, s->user->slice, description, "systemd-logind.service", "systemd-user-sessions.service", &error, &job); + description = strjoina("Session ", s->id, " of user ", s->user->name, NULL); + + r = manager_start_scope( + s->manager, + scope, + s->leader, + s->user->slice, + description, + "systemd-logind.service", + "systemd-user-sessions.service", + (uint64_t) -1, /* disable TasksMax= for the scope, rely on the slice setting for it */ + &error, + &job); if (r < 0) { - log_error("Failed to start session scope %s: %s %s", - scope, bus_error_message(&error, r), error.name); + log_error_errno(r, "Failed to start session scope %s: %s", scope, bus_error_message(&error, r)); free(scope); return r; } else { @@ -543,7 +549,7 @@ static int session_start_scope(Session *s) { } if (s->scope) - hashmap_put(s->manager->session_units, s->scope, s); + (void) hashmap_put(s->manager->session_units, s->scope, s); return 0; } |