Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 31 Jul 1995 14:02:02 -0700
From:      Bruce Evans <bde>
To:        CVS-commiters, cvs-sys
Subject:   cvs commit: src/sys/sys tty.h
Message-ID:  <199507312102.OAA26082@freefall.cdrom.com>

next in thread | raw e-mail | index | archive | help
bde         95/07/31 14:02:01

  Modified:    sys/gnu/isdn  iitty.c
               sys/i386/isa  cx.c syscons.c
               sys/kern  tty.c tty_pty.c
               sys/net   if_ppp.c if_sl.c
               sys/i386/isa/pcvt  pcvt_drv.c
               sys/sys   tty.h
  Log:
  Obtained from:	partly from ancient patches of mine via 1.1.5
  
  Introduce TS_CONNECTED and TS_ZOMBIE states.  TS_CONNECTED is set
  while a connection is established.  It is set while (TS_CARR_ON or
  CLOCAL is set) and TS_ZOMBIE is clear.  TS_ZOMBIE is set for on to
  off transitions of TS_CARR_ON that occur when CLOCAL is clear and
  is cleared for off to on transitions of CLOCAL.  I/o can only occur
  while TS_CONNECTED is set.  TS_ZOMBIE prevents further i/o.
  
  Split the input-event sleep address TSA_CARR_ON(tp) into TSA_CARR_ON(tp)
  and TSA_HUP_OR_INPUT(tp).  The former address is now used only for
  off to on carrier transitions and equivalent CLOCAL transitions.
  The latter is used for all input events, all carrier transitions
  and certain CLOCAL transitions.  There are some harmless extra
  wakeups for rare connection- related events.  Previously there were
  too many extra wakeups for non-rare input events.
  
  Drivers now call l_modem() instead of setting TS_CARR_ON directly
  to handle even the initial off to on transition of carrier.  They
  should always have done this.  l_modem() now handles TS_CONNECTED
  and TS_ZOMBIE as well as TS_CARR_ON.
  
  gnu/isdn/iitty.c:
  Set TS_CONNECTED for first open ourself to go with bogusly setting
  CLOCAL.
  
  i386/isa/syscons.c, i386/isa/pcvt/pcvt_drv.c:
  We fake carrier, so don't also fake CLOCAL.
  
  kern/tty.c:
  Testing TS_CONNECTED instead of TS_CARR_ON fixes TIOCCONS forgetting to
  test CLOCAL.  TS_ISOPEN was tested instead, but that broke when we disabled
  the clearing of TS_ISOPEN for certain transitions of CLOCAL.
  
  Testing TS_CONNECTED fixes ttyselect() returning false success for output
  to devices in state !TS_CARR_ON && !CLOCAL.
  
  Optimize the other selwakeup() call (this is not related to the other
  changes).
  
  kern/tty_pty.c:
  ptcopen() can be declared in traditional C now that dev_t isn't short.



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