Magellan Linux

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1994 - (hide 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 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);