diff options
author | bde <bde@FreeBSD.org> | 1994-11-01 22:23:29 +0000 |
---|---|---|
committer | bde <bde@FreeBSD.org> | 1994-11-01 22:23:29 +0000 |
commit | dcf7506baaa555db6bb633aacabb8788461d51f5 (patch) | |
tree | f2cd546da81decfb30bd927fa8e9371b8fd542df /sys/kern/tty.c | |
parent | 6b4fdf434a291259f8db34e3f5776bf911fa4d9d (diff) | |
download | FreeBSD-src-dcf7506baaa555db6bb633aacabb8788461d51f5.zip FreeBSD-src-dcf7506baaa555db6bb633aacabb8788461d51f5.tar.gz |
Return immediately from ttwrite() if the ttysleep()s that wait for
a clist return with an error. There are some clist starvation/deadlock
bugs elsewhere and killing clist hogs didn't help because the breaks
only exited from the inner loops.
Diffstat (limited to 'sys/kern/tty.c')
-rw-r--r-- | sys/kern/tty.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/tty.c b/sys/kern/tty.c index a8f130d..c9c29f7 100644 --- a/sys/kern/tty.c +++ b/sys/kern/tty.c @@ -36,7 +36,7 @@ * SUCH DAMAGE. * * @(#)tty.c 8.8 (Berkeley) 1/21/94 - * $Id: tty.c,v 1.11 1994/10/15 17:59:02 ache Exp $ + * $Id: tty.c,v 1.12 1994/10/23 06:18:13 davidg Exp $ */ #include <sys/param.h> @@ -1597,7 +1597,7 @@ loop: error = ttysleep(tp, &lbolt, TTOPRI | PCATCH, ttybuf, 0); if (error) - break; + goto out; goto loop; } cp++; @@ -1628,7 +1628,7 @@ loop: error = ttysleep(tp, &lbolt, TTOPRI | PCATCH, ttybuf, 0); if (error) - break; + goto out; goto loop; } if (ISSET(tp->t_lflag, FLUSHO) || |