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: 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