summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Lebl <jirka@5z.com>2004-05-04 16:47:29 +0000
committerGeorge Lebl <jirka@src.gnome.org>2004-05-04 16:47:29 +0000
commitabda44e5dc3c484587a777cca3f116d71137e501 (patch)
tree22de802a3ae7c1c3efb3bc18ba256c2910c2b6bb
parentb6cec4703cc2c047fc67f517d71dbf1bcd1d192e (diff)
downloadgdm-abda44e5dc3c484587a777cca3f116d71137e501.tar.gz
Don't whack the socket_conn on display_manage since that completely whacks
Tue May 04 09:47:21 2004 George Lebl <jirka@5z.com> * daemon/display.c: Don't whack the socket_conn on display_manage since that completely whacks out flexiserver error reporting and breaks flexiserver. Whoops! (I should review innocent looking patches better)
-rw-r--r--ChangeLog7
-rw-r--r--daemon/display.c18
2 files changed, 17 insertions, 8 deletions
diff --git a/ChangeLog b/ChangeLog
index 31ca2d86..861a1cf8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Tue May 04 09:47:21 2004 George Lebl <jirka@5z.com>
+
+ * daemon/display.c: Don't whack the socket_conn on display_manage
+ since that completely whacks out flexiserver error reporting and
+ breaks flexiserver. Whoops! (I should review innocent looking
+ patches better)
+
2004-04-09 John C Barstow <jbowtie@amathaine.com>
* configure.in: Added "mi" (Maori) to ALL_LINGUAS.
diff --git a/daemon/display.c b/daemon/display.c
index a738011b..91865b97 100644
--- a/daemon/display.c
+++ b/daemon/display.c
@@ -164,16 +164,18 @@ gdm_display_check_loop (GdmDisplay *disp)
}
static void
-whack_old_slave (GdmDisplay *d)
+whack_old_slave (GdmDisplay *d, gboolean kill_connection)
{
time_t t = time (NULL);
gboolean waitsleep = TRUE;
- /* This should never happen I don't think, but just in case */
- if (d->socket_conn != NULL) {
- GdmConnection *conn = d->socket_conn;
- d->socket_conn = NULL;
- gdm_connection_set_close_notify (conn, NULL, NULL);
+ if (kill_connection) {
+ /* This should never happen I don't think, but just in case */
+ if (d->socket_conn != NULL) {
+ GdmConnection *conn = d->socket_conn;
+ d->socket_conn = NULL;
+ gdm_connection_set_close_notify (conn, NULL, NULL);
+ }
}
if (d->master_notify_fd >= 0) {
@@ -267,7 +269,7 @@ gdm_display_manage (GdmDisplay *d)
/* If we have an old slave process hanging around, kill it */
/* This shouldn't be a normal code path however, so it doesn't matter
* that we are hanging */
- whack_old_slave (d);
+ whack_old_slave (d, FALSE /* kill_connection */);
/* Ensure that /tmp/.ICE-unix and /tmp/.X11-unix exist and have the
* correct permissions */
@@ -387,7 +389,7 @@ gdm_display_unmanage (GdmDisplay *d)
/* Kill slave, this may in fact hang for a bit at least until the
* slave dies, which should be ASAP though */
- whack_old_slave (d);
+ whack_old_slave (d, TRUE /* kill_connection */);
d->dispstat = DISPLAY_DEAD;
if (d->type != TYPE_LOCAL)