Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 30 Jul 2008 10:48:30 GMT
From:      Ed Schouten <ed@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 146248 for review
Message-ID:  <200807301048.m6UAmUqt033785@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=146248

Change 146248 by ed@ed_flippo on 2008/07/30 10:47:59

	Be sure to assert the high water mark flag before actually going
	to sleep. Drivers that process data synchronously may cause
	TTY's to block, even if there is enough room to write new data.

Affected files ...

.. //depot/projects/mpsafetty/sys/kern/tty_ttydisc.c#4 edit

Differences ...

==== //depot/projects/mpsafetty/sys/kern/tty_ttydisc.c#4 (text+ko) ====

@@ -507,7 +507,15 @@
 				goto done;
 			}
 			
+			/*
+			 * The driver may write back the data
+			 * synchronously. Be sure to check the high
+			 * water mark before going to sleep.
+			 */
 			ttydevsw_outwakeup(tp);
+			if ((tp->t_flags & TF_HIWAT_OUT) == 0)
+				continue;
+
 			error = tty_wait(tp, &tp->t_outwait);
 			if (error)
 				goto done;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200807301048.m6UAmUqt033785>