summaryrefslogtreecommitdiff
path: root/packages/xorg-xserver/xserver-kdrive-1.4
diff options
context:
space:
mode:
authorPhilipp Zabel <philipp.zabel@gmail.com>2008-02-02 23:15:29 +0000
committerPhilipp Zabel <philipp.zabel@gmail.com>2008-02-02 23:15:29 +0000
commit6746a39d827d29d7657add85613833f2fd49ab5e (patch)
tree0a040e4441f80949664b617aa715a5034eb67b67 /packages/xorg-xserver/xserver-kdrive-1.4
parent1bc7962516feae076b10cfcfd2212cd4fab4e480 (diff)
xserver-kdrive: remove a blocking read in the keyboard driver resume path
Diffstat (limited to 'packages/xorg-xserver/xserver-kdrive-1.4')
-rw-r--r--packages/xorg-xserver/xserver-kdrive-1.4/keyboard-resume-workaround.patch18
1 files changed, 18 insertions, 0 deletions
diff --git a/packages/xorg-xserver/xserver-kdrive-1.4/keyboard-resume-workaround.patch b/packages/xorg-xserver/xserver-kdrive-1.4/keyboard-resume-workaround.patch
new file mode 100644
index 0000000000..ced1904916
--- /dev/null
+++ b/packages/xorg-xserver/xserver-kdrive-1.4/keyboard-resume-workaround.patch
@@ -0,0 +1,18 @@
+Index: xorg-server-1.4/hw/kdrive/linux/keyboard.c
+===================================================================
+--- xorg-server-1.4.orig/hw/kdrive/linux/keyboard.c 2007-09-29 18:31:15.000000000 +0200
++++ xorg-server-1.4/hw/kdrive/linux/keyboard.c 2007-09-29 18:33:02.000000000 +0200
+@@ -743,11 +743,8 @@
+ cfsetispeed(&nTty, 9600);
+ cfsetospeed(&nTty, 9600);
+ tcsetattr(fd, TCSANOW, &nTty);
+- /*
+- * Flush any pending keystrokes
+- */
+- while ((n = read (fd, buf, sizeof (buf))) > 0)
+- ;
++ n = fcntl(fd, F_GETFL);
++ fprintf(stderr, "LinuxConsoleFd status flags: %x (O_NONBLOCK = %x)\n", n, O_NONBLOCK);
+ KdRegisterFd (fd, LinuxKeyboardRead, ki);
+ return Success;
+ }