www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1996/05/02/11:15:33

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: <Pine.SUN.3.91.960502084341.6400G-100000@is> from "Eli Zaretskii" at May 2, 96 08:47:19 am

> 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.

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019