summaryrefslogtreecommitdiffstats
path: root/sys/kern/tty.c
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1994-11-01 22:23:29 +0000
committerbde <bde@FreeBSD.org>1994-11-01 22:23:29 +0000
commitdcf7506baaa555db6bb633aacabb8788461d51f5 (patch)
treef2cd546da81decfb30bd927fa8e9371b8fd542df /sys/kern/tty.c
parent6b4fdf434a291259f8db34e3f5776bf911fa4d9d (diff)
downloadFreeBSD-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.c6
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) ||
OpenPOWER on IntegriCloud