chiark
/
gitweb
/
~ianmdlvl
/
elogind.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
logind: listen actively for session devices
[elogind.git]
/
src
/
login
/
logind-seat.c
diff --git
a/src/login/logind-seat.c
b/src/login/logind-seat.c
index 0ae0c520e6d564bfd5a993874d4419d1f98ba2cf..2c60b8ae510cc6a98d72bba020916cd98a8b7a14 100644
(file)
--- a/
src/login/logind-seat.c
+++ b/
src/login/logind-seat.c
@@
-341,7
+341,7
@@
int seat_start(Seat *s) {
return 0;
log_struct(LOG_INFO,
return 0;
log_struct(LOG_INFO,
-
"MESSAGE_ID=" SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL
(SD_MESSAGE_SEAT_START),
+
MESSAGE_ID
(SD_MESSAGE_SEAT_START),
"SEAT_ID=%s", s->id,
"MESSAGE=New seat %s.", s->id,
NULL);
"SEAT_ID=%s", s->id,
"MESSAGE=New seat %s.", s->id,
NULL);
@@
-369,7
+369,7
@@
int seat_stop(Seat *s) {
if (s->started)
log_struct(LOG_INFO,
if (s->started)
log_struct(LOG_INFO,
-
"MESSAGE_ID=" SD_ID128_FORMAT_STR, SD_ID128_FORMAT_VAL
(SD_MESSAGE_SEAT_STOP),
+
MESSAGE_ID
(SD_MESSAGE_SEAT_STOP),
"SEAT_ID=%s", s->id,
"MESSAGE=Removed seat %s.", s->id,
NULL);
"SEAT_ID=%s", s->id,
"MESSAGE=Removed seat %s.", s->id,
NULL);
@@
-448,10
+448,17
@@
bool seat_can_tty(Seat *s) {
return seat_is_vtconsole(s);
}
return seat_is_vtconsole(s);
}
+bool seat_has_master_device(Seat *s) {
+ assert(s);
+
+ /* device list is ordered by "master" flag */
+ return !!s->devices && s->devices->master;
+}
+
bool seat_can_graphical(Seat *s) {
assert(s);
bool seat_can_graphical(Seat *s) {
assert(s);
- return
!!s->devices
;
+ return
seat_has_master_device(s)
;
}
int seat_get_idle_hint(Seat *s, dual_timestamp *t) {
}
int seat_get_idle_hint(Seat *s, dual_timestamp *t) {
@@
-499,7
+506,7
@@
int seat_check_gc(Seat *s, bool drop_not_started) {
if (seat_is_vtconsole(s))
return 1;
if (seat_is_vtconsole(s))
return 1;
- return
!!s->devices
;
+ return
seat_has_master_device(s)
;
}
void seat_add_to_gc_queue(Seat *s) {
}
void seat_add_to_gc_queue(Seat *s) {