Message-Id: <199603131402.JAA26174@mv.mv.com> Date: Wed, 13 Mar 96 14:54:54 LIT From: Martynas Kunigelis Subject: CWSDPMI To: DJGPP mailing list This goes to Charles Sandmann: I think there is a bug in CWSDPMI with hardware interrupts reflecting from Real Mode to Protected Mode. Some time ago I found, that if I write a no-op keyboard handler that just resets keyboard and interrupt controllers, I am *still* able to break my program with ctrl-c if I enter a loop of switching to real mode (e.g. time() function). Now, I wrote a so-called _example_ (I'd say, bug-example :( ) keyboard handler, which checks some (locked) variable and chains to default handler if the variable is non-zero. Well, everything works on my PC, but I have lots of people reporting me, that their machines hang when they call scanf() with my handler installed and chaining flag set. But this happens only under CWSDPMI, under Windows it worx for everyone. Assuming, that scanf() switches to Real Mode, and having noticed the problem I described earlier, I dare to suspect there *might* be a bug in CWSDPMI. If you found a little time, I'd also appreciate if you'd agree to have a look at my code and see what might be wrong. Just let me know and I'll post it to you (DJ's got it also). Now to people, who have downloaded the bad-known `mkkbd2.zip': I am going crazy trying to find a bug in such a small peace of code, and nothing comes out. Except for a line in a routine _keyboard_key_down, where movl should be replaced with movzbl, but that definetly would not hang your PC. I hope C. Sandmann could help us all with that. Please, Charlie!.. Martynas Kunigelis