From owner-cvs-sys Tue Sep 10 12:15:05 1996 Return-Path: owner-cvs-sys Received: (from root@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id MAA07195 for cvs-sys-outgoing; Tue, 10 Sep 1996 12:15:05 -0700 (PDT) Received: (from peter@localhost) by freefall.freebsd.org (8.7.5/8.7.3) id MAA07143; Tue, 10 Sep 1996 12:14:53 -0700 (PDT) Date: Tue, 10 Sep 1996 12:14:53 -0700 (PDT) From: Peter Wemm Message-Id: <199609101914.MAA07143@freefall.freebsd.org> To: CVS-committers, cvs-all, cvs-sys Subject: cvs commit: src/sys/i386/isa syscons.c Sender: owner-cvs-sys@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk peter 96/09/10 12:14:53 Modified: sys/i386/isa syscons.c Log: Hack workaround XFree86 switching failure when used with /dev/sysmouse and xdm, possibly in general. What was happening was that the server was doing a tcsetattr(.. TCSADRAIN) on the mouse fd after a write. Since /dev/sysmouse had a null t_oproc, the drain failed with EIO. Somehow this spammed XFree86 (!@&^#%*& binary release!!), and the driver was left in a bogus state (ie: switch_in_progress permanently TRUE). The simplest way out was to implement a dummy scmousestart() routine to accept any characters from the tty system and toss them into the void. It would probably be more correct to intercept scwrite()'s to the mouse device, but that's executed for every single write to the screen. Supplying a start routine to eat the characters is only executed for the mouse port during startup/shutdown, so it should be faster. Revision Changes Path 1.170 +23 -2 src/sys/i386/isa/syscons.c