Mail Archives: djgpp/1999/10/11/11:17:09
On 10 Oct 99, at 16:22, Martin Stromberg wrote:
> 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?
>
Under Win9X DPMI server You cannot protect NULL page against
access (so You cannot catch NULL pointer dereferencing).
That doesn't meen that there is no such page.
- Raw text -