Print this page
12306 XPG4v2 slave pty behaviour should generally be disabled
Reviewed by: Robert Mustacchi <rm@fingolfin.org>
Change-ID: I7ccd399c22866f34dd20c6bb9d28e77ba4e24c67

Split Close
Expand all
Collapse all
          --- old/usr/src/uts/common/io/ldterm.c
          +++ new/usr/src/uts/common/io/ldterm.c
↓ open down ↓ 14 lines elided ↑ open up ↑
  15   15   * If applicable, add the following below this CDDL HEADER, with the
  16   16   * fields enclosed by brackets "[]" replaced with your own identifying
  17   17   * information: Portions Copyright [yyyy] [name of copyright owner]
  18   18   *
  19   19   * CDDL HEADER END
  20   20   */
  21   21  /*
  22   22   * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
  23   23   * Use is subject to license terms.
  24   24   * Copyright (c) 2018, Joyent, Inc.
  25      - * Copyright 2018 OmniOS Community Edition (OmniOSce) Association.
       25 + * Copyright 2020 OmniOS Community Edition (OmniOSce) Association.
  26   26   */
  27   27  
  28   28  /* Copyright (c) 1984, 1986, 1987, 1988, 1989 AT&T      */
  29   29  /* All Rights Reserved                                  */
  30   30  
  31   31  /*
  32   32   * University Copyright- Copyright (c) 1982, 1986, 1988
  33   33   * The Regents of the University of California
  34   34   * All Rights Reserved
  35   35   *
↓ open down ↓ 4044 lines elided ↑ open up ↑
4080 4080                                  }
4081 4081                          }
4082 4082                  }
4083 4083          }
4084 4084          tp->t_state &= ~TS_QUOT;
4085 4085          if (sndsig == 0)
4086 4086                  (void) putnextctl1(q, mtype, sig);
4087 4087  
4088 4088          if (c != '\0') {
4089 4089                  if ((tp->t_echomp = allocb(4, BPRI_HI)) != NULL) {
4090      -                        if (ldterm_echo(c, WR(q), 4, tp) > 0)
     4090 +                        if (ldterm_echo(c, WR(q), 4, tp) > 0 ||
     4091 +                            (tp->t_state & TS_ISPTSTTY))
4091 4092                                  putnext(WR(q), tp->t_echomp);
4092 4093                          else
4093 4094                                  freemsg(tp->t_echomp);
4094 4095                          tp->t_echomp = NULL;
4095 4096                  }
4096 4097          }
4097 4098  }
4098 4099  
4099 4100  
4100 4101  /*
↓ open down ↓ 1429 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX