Date: Wed, 26 Apr 2000 14:22:47 -0700 (PDT) From: Matthew Dillon <dillon@apollo.backplane.com> To: "Andrey A. Chernov" <ache@nagual.pp.ru> Cc: current@FreeBSD.ORG Subject: Re: Workaround for hanging on exit: patch for review Message-ID: <200004262122.OAA97717@apollo.backplane.com> References: <20000427011402.A7265@nagual.pp.ru>
index | next in thread | previous in thread | raw e-mail
:I often notice processes hanging forever on exit's ttywait when TCP
:connection dropped. Here is a patch I plan to commit which restrict
:waiting for output drain by 3 minutes. Any comments, improvements or
:objections?
:
:--- kern_exit.c.bak Sun Apr 16 23:35:55 2000
:+++ kern_exit.c Thu Apr 27 00:56:02 2000
:@@ -230,6 +230,9 @@
: if (sp->s_ttyp && (sp->s_ttyp->t_session == sp)) {
: if (sp->s_ttyp->t_pgrp)
: pgsignal(sp->s_ttyp->t_pgrp, SIGHUP, 1);
:+ /* XXX don't hang forever */
:+ if (sp->s_ttyp->t_timeout == 0)
:+ sp->s_ttyp->t_timeout = 180 * hz;
: (void) ttywait(sp->s_ttyp);
: /*
: * The tty could have been revoked
:
:--
:Andrey A. Chernov
I think this is a good idea. I've seen processes stuck in ttywait
forever too, usually when I'm using cu and the remote end is spewing
all sorts of junk my way.
p.s. (on a different topic) I am also seeing serial stream corruption
for serial console output. If I add a kernel printf() that generates
a lot of output, I get most of it on the serial console plus a lot
of other random garbage. Very weird.
-Matt
Matthew Dillon
<dillon@backplane.com>
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-current" in the body of the message
help
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200004262122.OAA97717>
