diff options
author | Lennart Poettering <lennart@poettering.net> | 2013-07-02 01:46:30 +0200 |
---|---|---|
committer | Lennart Poettering <lennart@poettering.net> | 2013-07-02 01:48:55 +0200 |
commit | fb6becb4436ae4078337011b2017ce294e7361cf (patch) | |
tree | 5e80cea85b91f039563907c830cd1d38f19c375c /src/login/logind-user.h | |
parent | 358712f3de33789b2d1293825f1add2c6f4b8e66 (diff) |
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.
Diffstat (limited to 'src/login/logind-user.h')
-rw-r--r-- | src/login/logind-user.h | 8 |
1 files changed, 7 insertions, 1 deletions
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); |