Add two IXOFF checks to not confuse with CRTS_IFLOW.

Now TS_TBLOCK used as general input flow flag
for both IXOFF and CRTS_IFLOW cases.
This commit is contained in:
Andrey A. Chernov 1995-02-23 03:02:38 +00:00
parent 7fec27e124
commit 227b711d8e
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=6657

View File

@ -36,7 +36,7 @@
* SUCH DAMAGE.
*
* @(#)tty.c 8.8 (Berkeley) 1/21/94
* $Id: tty.c,v 1.28 1995/02/15 22:25:51 ache Exp $
* $Id: tty.c,v 1.29 1995/02/22 23:20:51 ache Exp $
*/
#include "snp.h"
@ -1114,7 +1114,8 @@ ttyblock(tp)
if (total >= TTYHOG / 2 &&
!ISSET(tp->t_state, TS_TBLOCK) &&
(!ISSET(tp->t_lflag, ICANON) || tp->t_canq.c_cc > 0)) {
if (tp->t_cc[VSTOP] != _POSIX_VDISABLE &&
if (ISSET(tp->t_iflag, IXOFF) &&
tp->t_cc[VSTOP] != _POSIX_VDISABLE &&
putc(tp->t_cc[VSTOP], &tp->t_outq) == 0 ||
ISSET(tp->t_cflag, CRTS_IFLOW)) {
SET(tp->t_state, TS_TBLOCK);
@ -1495,7 +1496,8 @@ ttread(tp, uio, flag)
*/
s = spltty();
if (ISSET(tp->t_state, TS_TBLOCK) && tp->t_rawq.c_cc < TTYHOG/5) {
if (cc[VSTART] != _POSIX_VDISABLE &&
if (ISSET(tp->t_iflag, IXOFF) &&
cc[VSTART] != _POSIX_VDISABLE &&
putc(cc[VSTART], &tp->t_outq) == 0 ||
ISSET(tp->t_cflag, CRTS_IFLOW)) {
CLR(tp->t_state, TS_TBLOCK);