summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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);