看板 FB_stable 關於我們 聯絡資訊
--yTDPf8dFFzrn4Hdx Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Just replying to a random message in this thread. Maybe we should just implement /dev/console in such a way that it can never get stuck on dcd. I've seen this break too many times. Below is an untested patch. Anyone willing to test it for me? As Jeremy did point out, FreeBSD's TTY/serial/etc code really lacks a true console device which multiplexes both input and output to all serial devices. %%% Index: 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 --- tty.c (revision 212549) +++ tty.c (working copy) @@ -282,7 +282,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) { + (tp->t_termios.c_cflag & CLOCAL) =3D=3D 0 && + dev !=3D dev_console) { while ((ttydevsw_modem(tp, 0, 0) & SER_DCD) =3D=3D 0) { error =3D tty_wait(tp, &tp->t_dcdwait); if (error !=3D 0) %%% --=20 Ed Schouten <ed@80386.nl> WWW: http://80386.nl/ --yTDPf8dFFzrn4Hdx Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.16 (FreeBSD) iEYEARECAAYFAkyOcPIACgkQ52SDGA2eCwXo4ACfatMv6F7p6BKPJNIZq2zRwAKG IMQAniPCzpnMF0T+cGguYaGYuJvLZN6B =WJc4 -----END PGP SIGNATURE----- --yTDPf8dFFzrn4Hdx--