Alt-arrow console switch sometimes dropped

Pavel Machek
2004-01-03T13:36:26Z

Hi!

Alt-arrow console switch is routinely dropped under high load. This
patch fixes it: alt-arrow has to start from console _we want to switch
to_, if switch is already pending. Please apply,
Pavel

Index: linux.new/drivers/char/keyboard.c
===================================================================
--- linux.new.orig/drivers/char/keyboard.c 2003-12-25 13:28:51.000000000 +0100
+++ linux.new/drivers/char/keyboard.c 2003-12-25 13:29:08.000000000 +0100
@@ -507,8 +528,12 @@
static void fn_inc_console(struct vc_data *vc, struct pt_regs *regs)
{
int i;
+ int cur = fg_console;

- for (i = fg_console+1; i != fg_console; i++) {
+ if (want_console != -1)
+ cur = want_console;
+
+ for (i = cur+1; i != cur; i++) {
if (i == MAX_NR_CONSOLES)
i = 0;
if (vc_cons_allocated(i))

--
When do you have a heart between your knees?
[Johanka's followup: and *two* hearts?]