Print this page
8527 tty buffer/queue sizes should be larger

*** 564,575 **** */ static struct module_info ldtermmiinfo = { 0x0bad, "ldterm", 0, ! 256, ! HIWAT, LOWAT }; static struct qinit ldtermrinit = { --- 564,575 ---- */ static struct module_info ldtermmiinfo = { 0x0bad, "ldterm", 0, ! _TTY_BUFSIZ, ! _TTY_BUFSIZ, LOWAT }; static struct qinit ldtermrinit = {
*** 791,801 **** if ((bp = open_mblk(q, sizeof (struct stroptions))) == NULL) goto open_abort; strop = (struct stroptions *)bp->b_wptr; strop->so_flags = SO_READOPT|SO_HIWAT|SO_LOWAT|SO_NDELON|SO_ISTTY; strop->so_readopt = RMSGN; ! strop->so_hiwat = HIWAT; strop->so_lowat = LOWAT; bp->b_wptr += sizeof (struct stroptions); bp->b_datap->db_type = M_SETOPTS; putnext(q, bp); --- 791,801 ---- if ((bp = open_mblk(q, sizeof (struct stroptions))) == NULL) goto open_abort; strop = (struct stroptions *)bp->b_wptr; strop->so_flags = SO_READOPT|SO_HIWAT|SO_LOWAT|SO_NDELON|SO_ISTTY; strop->so_readopt = RMSGN; ! strop->so_hiwat = _TTY_BUFSIZ; strop->so_lowat = LOWAT; bp->b_wptr += sizeof (struct stroptions); bp->b_datap->db_type = M_SETOPTS; putnext(q, bp);
*** 1893,1903 **** * tp->t_maxeuc from MAX_CANON before checking. * * Allows MAX_CANON bytes in the buffer before throwing awaying * the the overflow of characters. */ ! if ((tp->t_msglen > ((MAX_CANON + 1) - (int)tp->t_maxeuc)) && !((tp->t_state & TS_MEUC) && tp->t_eucleft)) { /* * Byte will cause line to overflow, or the next EUC * won't fit: Ring the bell or discard all input, and --- 1893,1903 ---- * tp->t_maxeuc from MAX_CANON before checking. * * Allows MAX_CANON bytes in the buffer before throwing awaying * the the overflow of characters. */ ! if ((tp->t_msglen > ((_TTY_BUFSIZ + 1) - (int)tp->t_maxeuc)) && !((tp->t_state & TS_MEUC) && tp->t_eucleft)) { /* * Byte will cause line to overflow, or the next EUC * won't fit: Ring the bell or discard all input, and
*** 4381,4392 **** if (tp->eucwioc.scrw[i] > 1) tp->t_state |= TS_MEUC; } if ((tp->t_maxeuc > 1) || (tp->t_state & TS_MEUC)) { if (!tp->t_eucp_mp) { ! if (!(tp->t_eucp_mp = allocb(CANBSIZ, ! BPRI_HI))) { tp->t_maxeuc = 1; tp->t_state &= ~TS_MEUC; cmn_err(CE_WARN, "Can't allocate eucp_mp"); miocnak(q, mp, 0, ENOSR); --- 4381,4392 ---- if (tp->eucwioc.scrw[i] > 1) tp->t_state |= TS_MEUC; } if ((tp->t_maxeuc > 1) || (tp->t_state & TS_MEUC)) { if (!tp->t_eucp_mp) { ! if ((tp->t_eucp_mp = allocb(_TTY_BUFSIZ, ! BPRI_HI)) == NULL) { tp->t_maxeuc = 1; tp->t_state &= ~TS_MEUC; cmn_err(CE_WARN, "Can't allocate eucp_mp"); miocnak(q, mp, 0, ENOSR);
*** 4610,4620 **** /* Do the switching. */ tp->t_maxeuc = maxbytelen; tp->t_state &= ~TS_MEUC; if (maxbytelen > 1 || maxscreenlen > 1) { if (!tp->t_eucp_mp) { ! if (!(tp->t_eucp_mp = allocb(CANBSIZ, BPRI_HI))) { cmn_err(CE_WARN, "Can't allocate eucp_mp"); miocnak(q, mp, 0, ENOSR); return; --- 4610,4620 ---- /* Do the switching. */ tp->t_maxeuc = maxbytelen; tp->t_state &= ~TS_MEUC; if (maxbytelen > 1 || maxscreenlen > 1) { if (!tp->t_eucp_mp) { ! if (!(tp->t_eucp_mp = allocb(_TTY_BUFSIZ, BPRI_HI))) { cmn_err(CE_WARN, "Can't allocate eucp_mp"); miocnak(q, mp, 0, ENOSR); return;