diff options
author | Brian Cameron <brian.cameron@sun.com> | 2005-10-28 22:26:27 +0000 |
---|---|---|
committer | Brian Cameron <bcameron@src.gnome.org> | 2005-10-28 22:26:27 +0000 |
commit | db5b39b353e032230d907aa862416d846aa91458 (patch) | |
tree | 4abf1cd58d535518132ed6ef606728d5e5bc470e /daemon | |
parent | 4372b6c7057160b9130d6f92e7163ca02afa76cc (diff) | |
download | gdm-db5b39b353e032230d907aa862416d846aa91458.tar.gz |
If the slave doesn't respond to a SIGTERM, try SIGKILL the second time.
2005-10-28 Brian Cameron <brian.cameron@sun.com>
* daemon/display.c: If the slave doesn't
respond to a SIGTERM, try SIGKILL the second
time. GDM has a problem where it will
sometimes stop managing a display because
it just keeps waiting for a slave to die
after sending it a SIGTERM. Some users
have found that this patch works around
the problem of a child ignoring SIGTERM.
Patch provided by Vaclav Smilauer
<eudoxos@arcig.cz>. Fixes bug #113902.
Diffstat (limited to 'daemon')
-rw-r--r-- | daemon/display.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/daemon/display.c b/daemon/display.c index a0659951..29e5f76b 100644 --- a/daemon/display.c +++ b/daemon/display.c @@ -205,9 +205,9 @@ wait_again: ve_signal_was_notified (SIGINT) || ve_signal_was_notified (SIGHUP) || t + 10 <= time (NULL)) { - gdm_debug ("whack_old_slave: GOT ANOTHER SIGTERM (or it was 10 secs already), killing slave again"); + gdm_debug ("whack_old_slave: GOT ANOTHER SIGTERM (or it was 10 secs already), killing slave again with SIGKILL"); t = time (NULL); - kill (d->slavepid, SIGTERM); + kill (d->slavepid, SIGKILL); goto wait_again; } else if (ret < 0 && errno == EINTR) { goto wait_again; |