diff options
-rw-r--r-- | ChangeLog | 7 | ||||
-rw-r--r-- | daemon/slave.c | 8 |
2 files changed, 14 insertions, 1 deletions
@@ -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); |