summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorge Lebl <jirka@5z.com>2002-08-28 01:05:34 +0000
committerGeorge Lebl <jirka@src.gnome.org>2002-08-28 01:05:34 +0000
commit8afea6665b6a664373f55f396c3d263c0de2b2ca (patch)
treeffb3d66a5d4ffc7e803984912b85f0fe4354e462
parentafb2b9da0811bc08d6aee88634e0515e6dd9a8cf (diff)
downloadgdm-8afea6665b6a664373f55f396c3d263c0de2b2ca.tar.gz
when we get the term signal do cleanup but no longer wait for message
Tue Aug 27 18:14:20 2002 George Lebl <jirka@5z.com> * daemon/slave.c: when we get the term signal do cleanup but no longer wait for message ackgnoledgement from the daemon since the daemon may no longer be entering mainloop and may not even be processing messages.
-rw-r--r--ChangeLog7
-rw-r--r--daemon/slave.c8
2 files changed, 14 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index c745e924..9dc67b68 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+Tue Aug 27 18:14:20 2002 George Lebl <jirka@5z.com>
+
+ * daemon/slave.c: when we get the term signal do cleanup but no
+ longer wait for message ackgnoledgement from the daemon since the
+ daemon may no longer be entering mainloop and may not even be
+ processing messages.
+
Sat Aug 24 18:40:25 2002 George Lebl <jirka@5z.com>
* Release 2.4.0.9
diff --git a/daemon/slave.c b/daemon/slave.c
index 96dc1652..77bfebee 100644
--- a/daemon/slave.c
+++ b/daemon/slave.c
@@ -78,7 +78,9 @@ static gboolean do_restart_greeter = FALSE; /* if this is true, whack the
greeter and try again */
static gboolean restart_greeter_now = FALSE; /* restart_greeter_when the
SIGCHLD hits */
-static gboolean check_notifies_immediately = 0; /* check notifies as they come */
+static int check_notifies_immediately = 0; /* check notifies as they come */
+static gboolean gdm_wait_for_ack = TRUE; /* wait for ack on all messages to
+ * the daemon */
static gboolean greeter_disabled = FALSE;
static gboolean greeter_no_focus = FALSE;
@@ -1659,6 +1661,9 @@ gdm_slave_send (const char *str, gboolean wait_for_ack)
int i;
uid_t old;
+ if ( ! gdm_wait_for_ack)
+ wait_for_ack = FALSE;
+
if (gdm_in_signal == 0)
gdm_debug ("Sending %s", str);
@@ -2951,6 +2956,7 @@ static void
gdm_slave_term_handler (int sig)
{
gdm_in_signal++;
+ gdm_wait_for_ack = FALSE;
gdm_debug ("gdm_slave_term_handler: %s got TERM/INT signal", d->name);