gdm r6460 - in branches/gnome-2-20: . daemon



Author: bcameron
Date: Wed Sep  3 18:26:05 2008
New Revision: 6460
URL: http://svn.gnome.org/viewvc/gdm?rev=6460&view=rev

Log:
2008-09-03  Brian Cameron  <brian cameron sun com>

        * daemon/gdm.c:  Improve gdm_final_cleanup so that the slave daemon
          exits after receiving a shutdown or reboot event, and after
          completing all cleanup.  This should fix all the remaining
          issues in bug #517526.  Patch by Josselin Mouette
          <joss malsain org>


Modified:
   branches/gnome-2-20/ChangeLog
   branches/gnome-2-20/daemon/gdm.c

Modified: branches/gnome-2-20/daemon/gdm.c
==============================================================================
--- branches/gnome-2-20/daemon/gdm.c	(original)
+++ branches/gnome-2-20/daemon/gdm.c	Wed Sep  3 18:26:05 2008
@@ -293,6 +293,22 @@
 	const char *pidfile;
 	gboolean first;
 	GSList *displays;
+	struct sigaction sig;
+
+	/* Remove all signal handlers, since we are freeing structures used by the handlers */
+	sig.sa_handler = SIG_DFL;
+	sig.sa_flags = SA_RESTART;
+	sigemptyset (&sig.sa_mask);
+	sigaction (SIGTERM, &sig, NULL);
+	sigaction (SIGINT,  &sig, NULL);
+	sigaction (SIGHUP,  &sig, NULL);
+	sigaction (SIGUSR1, &sig, NULL);
+#ifdef SIGXCPU
+	sigaction (SIGXCPU, &sig, NULL);
+#endif
+#ifdef SIGXFSZ
+	sigaction (SIGXFSZ, &sig, NULL);
+#endif
 
 	displays = gdm_daemon_config_get_display_list ();
 
@@ -708,6 +724,7 @@
 		change_to_first_and_clear (FALSE);
 #endif /* __linux */
 
+		_exit (EXIT_SUCCESS);
 	}
 }
 
@@ -728,6 +745,7 @@
 		change_to_first_and_clear (TRUE);
 #endif /* __linux */
 
+	_exit (EXIT_SUCCESS);
 	}
 }
 



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]