Line
Link Here
|
0 |
-- src/login/logind.c |
0 |
++ src/login/logind.c |
Lines 1371-1379
Link Here
|
1371 |
Seat *seat; |
1371 |
Seat *seat; |
1372 |
Session *session; |
1372 |
Session *session; |
1373 |
User *user; |
1373 |
User *user; |
|
|
1374 |
Iterator i; |
1374 |
|
1375 |
|
1375 |
assert(m); |
1376 |
assert(m); |
1376 |
|
1377 |
|
|
|
1378 |
/* clean up empty sessions when not running under systemd */ |
1379 |
HASHMAP_FOREACH(session, m->session_cgroups, i) |
1380 |
if (session_get_state(session) == SESSION_CLOSING) |
1381 |
session_add_to_gc_queue(session); |
1382 |
|
1377 |
while ((seat = m->seat_gc_queue)) { |
1383 |
while ((seat = m->seat_gc_queue)) { |
1378 |
LIST_REMOVE(Seat, gc_queue, m->seat_gc_queue, seat); |
1384 |
LIST_REMOVE(Seat, gc_queue, m->seat_gc_queue, seat); |
1379 |
seat->in_gc_queue = false; |
1385 |
seat->in_gc_queue = false; |
1380 |
-- src/login/logind-session.c |
1386 |
++ src/login/logind-session.c |
Lines 642-648
Link Here
|
642 |
|
642 |
|
643 |
r = manager_get_session_by_pid(s->manager, s->leader, &t); |
643 |
r = manager_get_session_by_pid(s->manager, s->leader, &t); |
644 |
if (r > 0 && t == s) { |
644 |
if (r > 0 && t == s) { |
645 |
kill(s->leader, SIGTERM); /* for normal processes */ |
645 |
/*kill(s->leader, SIGTERM); */ /* for normal processes */ |
646 |
kill(s->leader, SIGHUP); /* for shells */ |
646 |
kill(s->leader, SIGHUP); /* for shells */ |
647 |
kill(s->leader, SIGCONT); /* in case they are stopped */ |
647 |
kill(s->leader, SIGCONT); /* in case they are stopped */ |
648 |
} |
648 |
} |
649 |
-- src/login/org.freedesktop.login1.service |
649 |
++ src/login/org.freedesktop.login1.service |
Lines 7-12
Link Here
|
7 |
|
7 |
|
8 |
[D-BUS Service] |
8 |
[D-BUS Service] |
9 |
Name=org.freedesktop.login1 |
9 |
Name=org.freedesktop.login1 |
10 |
Exec=/bin/false |
10 |
Exec=/lib/systemd/systemd-logind |
11 |
User=root |
11 |
User=root |
12 |
SystemdService=dbus-org.freedesktop.login1.service |
12 |
SystemdService=dbus-org.freedesktop.login1.service |