www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/10/10/15:32:06

From: eplmst AT lu DOT erisoft DOT se (Martin Stromberg)
Newsgroups: comp.os.msdos.djgpp
Subject: Re: Problems using signals
Date: 10 Oct 1999 16:22:56 GMT
Organization: Ericsson Erisoft AB, Sweden
Lines: 19
Message-ID: <7tqeh0$ktf$1@antares.lu.erisoft.se>
References: <Pine DOT SUN DOT 3 DOT 91 DOT 991010121517 DOT 19618G-100000 AT is>
NNTP-Posting-Host: propus-144.lu.erisoft.se
X-Newsreader: TIN [version 1.2 PL2]
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com

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 -


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