Bug 000121

When Created: 11/10/1996 07:41:54
Against DJGPP version: 2.00
By whom:
Abstract: Ctrl+C, Ctrl+Break (SIGINT) and (untested) SIGTIMR cause a crash under WinNT
The ___djgpp_hw_exception routine uses a DPMI call to generate a fake exception
when control returns to the main program. The crash seems to happen inside the
call, which could mean the WinNT DPMI host is not re-entrant (actually, I didn't
investigate the things long enough). The problem was gone when I patched the
program to use another method to generate the fake exception (the method was
only good for testing, so I don't describe it here).

There seems to be one more problem with Ctrl+Break only - under WinNT, both
the DJGPP's and original INT 1B/INT 23 handlers get executed (if I patch the
program not to crash on the DPMI call described above). I tested that loading
a TSR that intercepts INT 23 before running my DJGPP program, and the TSR's
INT 23 got called when running under WinNT (of course, this means that if I
don't load such a TSR, the program gets terminated by DOS's INT 23 handler,
even if I intercepted SIGINT to do something else).

Note added: 04/13/1999 07:00:09
By whom:
These are bugs in the NT DPMI server.  DJGPP can do nothing to solve them.

Closed on 04/13/1999 07:00:50: This is a bug in NT's DPMI server.
By whom:

  webmaster     delorie software   privacy  
  Copyright 2010   by DJ Delorie     Updated Jul 2010