From fb6becb4436ae4078337011b2017ce294e7361cf Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Tue, 2 Jul 2013 01:46:30 +0200 Subject: logind: port over to use scopes+slices for all cgroup stuff In order to prepare things for the single-writer cgroup scheme, let's make logind use systemd's own primitives for cgroup management. Every login user now gets his own private slice unit, in which his sessions live in a scope unit each. Also, add user@$UID.service to the same slice, and implicitly start it on first login. --- src/login/logind-user.h | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/login/logind-user.h') diff --git a/src/login/logind-user.h b/src/login/logind-user.h index 16d798541a..889f828c42 100644 --- a/src/login/logind-user.h +++ b/src/login/logind-user.h @@ -30,6 +30,7 @@ typedef struct User User; typedef enum UserState { USER_OFFLINE, /* Not logged in at all */ + USER_OPENING, /* Is logging in */ USER_LINGERING, /* Lingering has been enabled by the admin for this user */ USER_ONLINE, /* User logged in */ USER_ACTIVE, /* User logged in and has a session in the fg */ @@ -47,16 +48,21 @@ struct User { char *state_file; char *runtime_path; + char *service; - char *cgroup_path; char *slice; + char *service_job; + char *slice_job; + Session *display; dual_timestamp timestamp; bool in_gc_queue:1; bool started:1; + bool slice_created:1; + bool service_created:1; LIST_HEAD(Session, sessions); LIST_FIELDS(User, gc_queue); -- cgit v1.2.3-54-g00ecf