From: sandmann AT clio DOT rice DOT edu (Charles Sandmann) Message-Id: <9605021453.AA12550@clio.rice.edu> Subject: Re: Library reference for djgpp To: eliz AT is DOT elta DOT co DOT il (Eli Zaretskii) Date: Thu, 2 May 1996 09:53:11 -0600 (CDT) Cc: djgpp AT delorie DOT com In-Reply-To: from "Eli Zaretskii" at May 2, 96 08:47:19 am Content-Type: text Content-Length: 1121 > Any thoughts on what might or should be done about that Ctrl-C problem > under QDPMI? The problem happens differently under different QDPMI versions (so they move the bug around). The one traceback I captured and was able to analyze showed that a HW interrupt had happened in a narrow window inside an exception handler. The DPMI specification says that exception handlers will be entered with interrupts disabled. The problem is in exceptn.S - in the exception handling routine it uses an algorithm which it assumes is handled in an interrupt-disabled section, and that the stack segment stays valid during the procedure. With a complete re-write there might be some way to work around the bug. This problem seems to be hardware specific too - some keyboard controllers generate extra interrupts very quickly after the first so you see a double Ctrl-C event bang-bang (and the second one scroggs the handling of the first one). > Can I test something to get you more info? If you capture any register dumps and the associated "where in the code the EIP was" with that information on dumps, it is useful.