Commit b0aba202 authored by Brian Cameron's avatar Brian Cameron Committed by Brian Cameron

Avoid catching sigchld when trying to call XOpenDisplay. This corrects an

2006-01-22  Brian Cameron  <brian.cameron@sun.com>

        * daemon/slave.c: Avoid catching sigchld when trying to call
          XOpenDisplay.  This corrects an issue where GDM catches a
          second SIGCHLD when trying to restart.  In this situation
          the slave freezes even though the Xserver and the session
          are killed.  This causes the display to no longer manage
          itself.

svn path=/trunk/; revision=4538
parent 651f3ccb
2006-01-22 Brian Cameron <brian.cameron@sun.com>
* daemon/slave.c: Avoid catching sigchld when trying to call
XOpenDisplay. This corrects an issue where GDM catches a
second SIGCHLD when trying to restart. In this situation
the slave freezes even though the Xserver and the session
are killed. This causes the display to no longer manage
itself.
2006-01-22 Brian Cameron <brian.cameron@sun.com>
* gui/gdmsetup.diff: Patch to fix c99 compiling. Patch by
......
......@@ -1407,7 +1407,10 @@ gdm_slave_run (GdmDisplay *display)
openretries < maxtries &&
d->dsp == NULL &&
( ! SERVER_IS_LOCAL (d) || d->servpid > 1)) {
gdm_sigchld_block_push ();
d->dsp = XOpenDisplay (d->name);
gdm_sigchld_block_pop ();
if G_UNLIKELY (d->dsp == NULL) {
gdm_debug ("gdm_slave_run: Sleeping %d on a retry", 1+openretries*2);
......@@ -1647,7 +1650,9 @@ focus_first_x_window (const char *class_res_name)
gdm_auth_set_local_auth (d);
gdm_sigchld_block_push ();
disp = XOpenDisplay (d->name);
gdm_sigchld_block_pop ();
if G_UNLIKELY (disp == NULL) {
gdm_error (_("%s: cannot open display %s"),
"focus_first_x_window",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment