On Mon, 2010-09-06 at 11:52 +1000, Peter Hutterer wrote: > From: Thomas Hellstrom <[email protected]> > > The drain_console() function will race with new keyboard events being added > by the hardware causing the server to lose keyboard events if the console fd > is used for input. > > Only use the drain_console() when AllowEmptyInput is off which is the best > indicator we have for whether the keyboard driver will be used. This patch > will only fix the bug when hotplugging is disabled. > What we really need is a way to figure out either whether we're _not_ using > the keyboard driver (not predictable) or a way for the keyboard driver to > disable drain_console(). > > X.Org Bug 29969 <http://bugs.freedesktop.org/show_bug.cgi?id=29969> > > Signed-off-by: Thomas Hellstrom <[email protected]> > Reviewed-by: Peter Hutterer <[email protected]>
Ideally, what we should do is get a way to tell the kernel to put the console fd in a half-closed state so it doesn't bother queueing input events to it - which is the whole reason for needing drain_console() in the first place. As it is we're burning an extra syscall on every keystroke for evdev. But even then you'd still need a way of having the keyboard driver claim the console fd, so we can know when not to half-close it. Reviewed-by: Adam Jackson <[email protected]> - ajax
signature.asc
Description: This is a digitally signed message part
_______________________________________________ [email protected]: X.Org development Archives: http://lists.x.org/archives/xorg-devel Info: http://lists.x.org/mailman/listinfo/xorg-devel
