Mail Archives: djgpp/1999/10/10/15:32:06
Eli Zaretskii (eliz AT is DOT elta DOT co DOT il) wrote:
: The way it works is as follows. The keyboard interrupt handler
: invalidates the DS selector by resetting its limit to the first page
: (a.k.a. null page) only, saves the original limit in a special
: variable, sets a flag which indicates that Ctrl-C was seen, and then
: does an IRET. Since all data is above the null page, we are
: guaranteed that the first time the program touches any of its data, it
: will trigger a GPF. The GPF exception handler, also set up by the
: startup code, sees that the exception is really a fake one generated
: by Ctrl-C, so it restores the DS limit to its original value and then
: does a "raise(SIGINT);".
Nice explanation, but how can this work in WINDOZE where there isn't any
NULL page?
Nyman, The Piano Concerto,
MartinS
- Raw text -