You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
63 lines
2.0 KiB
63 lines
2.0 KiB
From 932ae09a155ef463d99d4b4e7cf04aafbcd78a19 Mon Sep 17 00:00:00 2001 |
|
From: Lukas Nykryn <lnykryn@redhat.com> |
|
Date: Wed, 2 Apr 2014 14:41:26 +0200 |
|
Subject: [PATCH] logind-session: save stopping flag |
|
|
|
Conflicts: |
|
src/login/logind-session.c |
|
--- |
|
src/login/logind-session.c | 17 +++++++++++++---- |
|
1 file changed, 13 insertions(+), 4 deletions(-) |
|
|
|
diff --git a/src/login/logind-session.c b/src/login/logind-session.c |
|
index a02a537f7..d2e7b4012 100644 |
|
--- a/src/login/logind-session.c |
|
+++ b/src/login/logind-session.c |
|
@@ -181,12 +181,14 @@ int session_save(Session *s) { |
|
"USER=%s\n" |
|
"ACTIVE=%i\n" |
|
"STATE=%s\n" |
|
- "REMOTE=%i\n", |
|
- s->user->uid, |
|
+ "REMOTE=%i\n" |
|
+ "STOPPING=%i\n", |
|
+ (unsigned long) s->user->uid, |
|
s->user->name, |
|
session_is_active(s), |
|
session_state_to_string(session_get_state(s)), |
|
- s->remote); |
|
+ s->remote, |
|
+ s->stopping); |
|
|
|
if (s->type >= 0) |
|
fprintf(f, "TYPE=%s\n", session_type_to_string(s->type)); |
|
@@ -309,7 +311,8 @@ int session_load(Session *s) { |
|
*uid = NULL, |
|
*realtime = NULL, |
|
*monotonic = NULL, |
|
- *controller = NULL; |
|
+ *controller = NULL, |
|
+ *stopping = NULL; |
|
|
|
int k, r; |
|
|
|
@@ -337,6 +340,7 @@ int session_load(Session *s) { |
|
"REALTIME", &realtime, |
|
"MONOTONIC", &monotonic, |
|
"CONTROLLER", &controller, |
|
+ "STOPPING", &stopping, |
|
NULL); |
|
|
|
if (r < 0) |
|
@@ -453,6 +457,11 @@ int session_load(Session *s) { |
|
session_restore_vt(s); |
|
} |
|
|
|
+ if (stopping) { |
|
+ k = parse_boolean(stopping); |
|
+ if (k >= 0) |
|
+ s->stopping = k; |
|
+ } |
|
return r; |
|
} |
|
|
|
|