path: root/src/login/logind-user.h
diff options
authorZbigniew Jędrzejewski-Szmek <>2017-12-07 22:25:26 +0100
committerSven Eden <>2018-08-24 16:47:08 +0200
commiteb4fb6ebb1b639fceafd729ab1bbc47f4db64873 (patch)
treefd10ff4fc025fd85db4014a6b6152f4ba56dc217 /src/login/logind-user.h
parenta574cd708cec217e8e948b63aa02c082128c4a3e (diff)
Use a dash-truncated drop-in for user-%j.slice configuration
This removes the UserTasksMax= setting in logind.conf. Instead, the generic TasksMax= setting on the slice should be used. Instead of a transient unit we use a drop-in to tweak the default definition of a .slice. It's better to use the normal unit mechanisms instead of creating units on the fly. This will also make it easier to start user@.service independently of logind, or set additional settings like MemoryMax= for user slices. The setting in logind is removed, because otherwise we would have two sources of "truth": the slice on disk and the logind config. Instead of trying to coordinate those two sources of configuration (and maintainer overrides to both), let's just convert to the new one fully. Right now now automatic transition mechanism is provided. logind will emit a hint when it encounters the setting, but otherwise it will be ignored. Fixes #2556.
Diffstat (limited to 'src/login/logind-user.h')
1 files changed, 2 insertions, 0 deletions
diff --git a/src/login/logind-user.h b/src/login/logind-user.h
index 158288dd2..c80b02271 100644
--- a/src/login/logind-user.h
+++ b/src/login/logind-user.h
@@ -81,3 +81,5 @@ UserState user_state_from_string(const char *s) _pure_;
int bus_user_method_terminate(sd_bus_message *message, void *userdata, sd_bus_error *error);
int bus_user_method_kill(sd_bus_message *message, void *userdata, sd_bus_error *error);
+int config_parse_compat_user_tasks_max(const char *unit, const char *filename, unsigned line, const char *section, unsigned section_line, const char *lvalue, int ltype, const char *rvalue, void *data, void *userdata);