Mail Archives: djgpp/1996/07/17/04:15:18
> I need to find out if I'm in an exception in my signal handler. I found a
> variable in <sys/exceptn.h> called '__djgpp_exception_inprog' that is
Ah, a code turd left from the non-reentrant days. Instead this functionality
is now determined by the pointer __djgpp_exception_state - which if it is
not NULL means an exception is in progress.
> The code below should theoretically do nothing when you hit control-c, since
> it longjmp's to the state the machine was in when you hit control-c. If
> you hold down Control-C though, it occasionally blows up. The only thing
> I can think of is that it's already in an exception when control-c was
> hit. Charles? :)
That's supposed to be handled (heh heh supposed...) but there might be a
bug or some window of badness I didn't think about. When it blows up, is
is a machine wedge, a register dump, or ?? Is this under CWSDPMI or some
other DPMI? I have shown that some other DPMIs have a problem with
reentrancy because they enable interrupts at places they aren't supposed to.
- Raw text -