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

Attachment: 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

Reply via email to