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;