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>
next in thread | previous in thread | raw e-mail | index | archive | help
: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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200004262122.OAA97717>