Annotation of /trunk/kdebase-workspace/patches/kdebase-workspace-4.9.4-fix-reboot.patch
Parent Directory | Revision Log
Revision 1994 -
(hide annotations)
(download)
Wed Dec 19 09:48:16 2012 UTC (11 years, 9 months ago) by niro
File size: 1265 byte(s)
Wed Dec 19 09:48:16 2012 UTC (11 years, 9 months ago) by niro
File size: 1265 byte(s)
-added serveral patches
1 | niro | 1994 | 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); |