Date: Sun, 19 Sep 2010 18:36:24 +0300 From: Kostik Belousov <kostikbel@gmail.com> To: Ed Schouten <ed@80386.nl> Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r212860 - head/sys/kern Message-ID: <20100919153624.GD2389@deviant.kiev.zoral.com.ua> In-Reply-To: <20100919150628.GN56986@hoeg.nl> References: <201009191421.o8JELdNY004586@svn.freebsd.org> <20100919143047.GB2389@deviant.kiev.zoral.com.ua> <20100919150628.GN56986@hoeg.nl>
next in thread | previous in thread | raw e-mail | index | archive | help
--Rln2GmQ7CFmDhc9B Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Sun, Sep 19, 2010 at 05:06:28PM +0200, Ed Schouten wrote: > * Kostik Belousov <kostikbel@gmail.com> wrote: > > Shouldn't you always report CLOCAL for console then ? >=20 > Hmmm... That would be a lot more elegant, also for callout devices. The > change I just committed, doesn't take a loss of SER_DCD into account > after opening the device. >=20 > Any comments on the following patch? It looks very similar to what I proposed. Thanks. >=20 > %%% > Index: sys/kern/tty.c > =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D > --- sys/kern/tty.c (revision 212860) > +++ sys/kern/tty.c (working copy) > @@ -263,12 +263,14 @@ > =20 > if (!tty_opened(tp)) { > /* Set proper termios flags. */ > - if (TTY_CALLOUT(tp, dev)) { > + if (TTY_CALLOUT(tp, dev)) > tp->t_termios =3D tp->t_termios_init_out; > - } else { > + else > tp->t_termios =3D tp->t_termios_init_in; > - } > ttydevsw_param(tp, &tp->t_termios); > + /* Prevent modem control on callout devices and /dev/console. */ > + if (TTY_CALLOUT(tp, dev) || dev =3D=3D dev_console) > + tp->t_termios.c_cflag |=3D CLOCAL; > =20 > ttydevsw_modem(tp, SER_DTR|SER_RTS, 0); > =20 > @@ -281,9 +283,8 @@ > } > =20 > /* Wait for Carrier Detect. */ > - if (!TTY_CALLOUT(tp, dev) && (oflags & O_NONBLOCK) =3D=3D 0 && > - (tp->t_termios.c_cflag & CLOCAL) =3D=3D 0 && > - dev !=3D dev_console) { > + if ((oflags & O_NONBLOCK) =3D=3D 0 && > + (tp->t_termios.c_cflag & CLOCAL) =3D=3D 0) { > while ((ttydevsw_modem(tp, 0, 0) & SER_DCD) =3D=3D 0) { > error =3D tty_wait(tp, &tp->t_dcdwait); > if (error !=3D 0) > %%% >=20 > --=20 > Ed Schouten <ed@80386.nl> > WWW: http://80386.nl/ --Rln2GmQ7CFmDhc9B Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.10 (FreeBSD) iEYEARECAAYFAkyWLfcACgkQC3+MBN1Mb4i0nwCeP+3QoGQfJ+PaCcY7vm64OVft pGcAnjXKaxDGDazl3bmpPSTyVeQxOwN5 =TpEh -----END PGP SIGNATURE----- --Rln2GmQ7CFmDhc9B--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20100919153624.GD2389>