Blame SOURCES/kde-workspace-4.8.0-bug796969.patch

b5cc75
per https://bugzilla.redhat.com/show_bug.cgi?id=796969#c23
b5cc75
The process that executes kdm/backend/session.c:manageSession() is the leader
b5cc75
process of the logind session.
b5cc75
b5cc75
manageSession() calls:
b5cc75
b5cc75
    blockTerm();
b5cc75
    clientExited();
b5cc75
    unblockTerm();
b5cc75
b5cc75
where clientExited() ends the PAM session.
b5cc75
With the current systemd-logind, ending the PAM session will cause the leader
b5cc75
process to be delivered SIGHUP and SIGTERM. The process will die and the
b5cc75
remainder of manageSession() will not be executed.
b5cc75
b5cc75
Interestingly, at the end of the function there's a call to sessionExit(),
b5cc75
which calls clientExited() again.
b5cc75
b5cc75
Removing the three lines quoted above makes reboot from KDE work again. I
b5cc75
haven't noticed any bad effects.
b5cc75
b5cc75
diff -up kde-workspace-4.8.0/kdm/backend/session.c.bz796969 kde-workspace-4.8.0/kdm/backend/session.c
b5cc75
--- kde-workspace-4.8.0/kdm/backend/session.c.bz796969	2012-01-18 14:08:40.000000000 -0600
b5cc75
+++ kde-workspace-4.8.0/kdm/backend/session.c	2012-02-28 07:17:16.270219932 -0600
b5cc75
@@ -662,9 +662,9 @@ manageSession(void)
b5cc75
         sessionExit(EX_AL_RESERVER_DPY);
b5cc75
     }
b5cc75
 
b5cc75
-    blockTerm();
b5cc75
-    clientExited();
b5cc75
-    unblockTerm();
b5cc75
+    /* blockTerm(); */
b5cc75
+    /* clientExited(); */
b5cc75
+    /* unblockTerm(); */
b5cc75
 
b5cc75
     gSet(&mstrtalk);
b5cc75
     gSendInt(D_UnUser);