Magellan Linux

Contents of /trunk/kdebase-workspace/patches/kdebase-workspace-4.9.4-fix-reboot.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1994 - (show annotations) (download)
Wed Dec 19 09:48:16 2012 UTC (11 years, 5 months ago) by niro
File size: 1265 byte(s)
-added serveral patches
1 per https://bugzilla.redhat.com/show_bug.cgi?id=796969#c23
2 The process that executes kdm/backend/session.c:manageSession() is the leader
3 process of the logind session.
4
5 manageSession() calls:
6
7 blockTerm();
8 clientExited();
9 unblockTerm();
10
11 where clientExited() ends the PAM session.
12 With the current systemd-logind, ending the PAM session will cause the leader
13 process to be delivered SIGHUP and SIGTERM. The process will die and the
14 remainder of manageSession() will not be executed.
15
16 Interestingly, at the end of the function there's a call to sessionExit(),
17 which calls clientExited() again.
18
19 Removing the three lines quoted above makes reboot from KDE work again. I
20 haven't noticed any bad effects.
21
22 diff -up kde-workspace-4.8.0/kdm/backend/session.c.bz796969 kde-workspace-4.8.0/kdm/backend/session.c
23 --- kde-workspace-4.8.0/kdm/backend/session.c.bz796969 2012-01-18 14:08:40.000000000 -0600
24 +++ kde-workspace-4.8.0/kdm/backend/session.c 2012-02-28 07:17:16.270219932 -0600
25 @@ -662,9 +662,9 @@ manageSession(void)
26 sessionExit(EX_AL_RESERVER_DPY);
27 }
28
29 - blockTerm();
30 - clientExited();
31 - unblockTerm();
32 + /* blockTerm(); */
33 + /* clientExited(); */
34 + /* unblockTerm(); */
35
36 gSet(&mstrtalk);
37 gSendInt(D_UnUser);