delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1999/09/14/11:45:39

From: Eli Zaretskii <eliz AT is DOT elta DOT co DOT il>
Newsgroups: comp.os.msdos.programmer,comp.os.msdos.djgpp
Subject: Re: WARNING: DOS is about to die.
Date: Tue, 14 Sep 1999 10:57:40 +0200
Organization: NetVision Israel
Lines: 21
Message-ID: <Pine.SUN.3.91.990914105228.17516K-100000@is>
References: <7quo1t$94k$1 AT solomon DOT cs DOT rose-hulman DOT edu> <37D2EEE8 DOT CF27908C AT a DOT crl DOT com> <37D34350 DOT 2F2EE49B AT videotron DOT ca> <37D3456E DOT 448F01AF AT aol DOT com> <37D3D2E6 DOT 660F1586 AT unb DOT ca> <Pine DOT SUN DOT 3 DOT 91 DOT 990906192019 DOT 12553C-100000 AT is> <7rjobv$42a$1 AT ash DOT prod DOT itd DOT earthlink DOT net>
NNTP-Posting-Host: is.elta.co.il
Mime-Version: 1.0
X-Trace: news.netvision.net.il 937299389 12230 199.203.121.2 (14 Sep 1999 08:56:29 GMT)
X-Complaints-To: abuse AT netvision DOT net DOT il
NNTP-Posting-Date: 14 Sep 1999 08:56:29 GMT
X-Sender: eliz AT is
In-Reply-To: <7rjobv$42a$1@ash.prod.itd.earthlink.net>
To: djgpp AT delorie DOT com
DJ-Gateway: from newsgroup comp.os.msdos.djgpp
Reply-To: djgpp AT delorie DOT com
X-Mailing-List: djgpp AT delorie DOT com
X-Unsubscribes-To: listserv AT delorie DOT com

On 13 Sep 1999, Steve Mentzer wrote:

> >For example, did you know you cannot catch SIGINT and SIGFPE on NT?  If 
> >you do, your program crashes, and the DrWatson log file clearly shows 
> >that it's an NT bug.
> 
> And you shouldn't be able to... The only thing that should be handling 
> interrupts are kernel-mode device drivers, not user mode applications.

If that would be the reason, then I'd at least understand it.

But the reality doesn't fit into the above theory: NT *does* let you 
catch hardware interrupts.  What causes the crashes is that NT apparently 
uses the application's stack to perform some of its chores when an 
application triggers an exception (such as GPF), e.g. by accessing an 
invalid address.  And that's a no-no, since one of the reasons for a GPF 
is that the data/stack segment is invalid.

DJGPP supports signals by converting an interrupt into an exception, by 
invalidating the DS selector.  And this is why the program crashes on NT.

- Raw text -


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