mirror of
https://git.FreeBSD.org/src.git
synced 2024-12-13 10:02:38 +00:00
Fixed initialization of TS_CONNECTED bit in t_state. It wasn't
set in open() when CLOCAL is set unless carrier is present. Fixed initialization of line discipline. It lived across opens. Lines that started with the wrong discipline probably didn't work at all, because TS_ISOPEN is only set by TTYDISC.
This commit is contained in:
parent
71b9cf739a
commit
bb1140a9a5
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=11965
@ -36,7 +36,7 @@
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* @(#)tty.c 8.8 (Berkeley) 1/21/94
|
||||
* $Id: tty.c,v 1.69 1995/08/02 06:55:34 ache Exp $
|
||||
* $Id: tty.c,v 1.70 1995/09/10 11:48:13 bde Exp $
|
||||
*/
|
||||
|
||||
/*-
|
||||
@ -205,6 +205,8 @@ ttyopen(device, tp)
|
||||
tp->t_dev = device;
|
||||
if (!ISSET(tp->t_state, TS_ISOPEN)) {
|
||||
SET(tp->t_state, TS_ISOPEN);
|
||||
if (ISSET(tp->t_cflag, CLOCAL))
|
||||
SET(tp->t_state, TS_CONNECTED);
|
||||
bzero(&tp->t_winsize, sizeof(tp->t_winsize));
|
||||
}
|
||||
|
||||
@ -249,6 +251,7 @@ ttyclose(tp)
|
||||
#endif
|
||||
|
||||
tp->t_gen++;
|
||||
tp->t_line = TTYDISC;
|
||||
tp->t_pgrp = NULL;
|
||||
tp->t_session = NULL;
|
||||
tp->t_state = 0;
|
||||
|
Loading…
Reference in New Issue
Block a user