www.delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/11/29/18:27:53

From: Nigel Stephens <nigel AT algor DOT co DOT uk>
Date: Tue, 29 Nov 1994 15:54:02 GMT
To: dj AT stealth DOT ctron DOT com (DJ Delorie)
Cc: djgpp AT sun DOT soe DOT clarkson DOT edu, trav AT clark DOT edu
Subject: Re: Interrupts
References: <1843 DOT 199411291529 AT westminster DOT algor DOT co DOT uk>
<9411291542 DOT AA29563 AT delorie>

DJ Delorie (dj AT stealth DOT ctron DOT com ) writes:
 > > So does that mean that in non-dpmi mode the following might fail:
 > > 
 > > 1) program page faults, and go32 calls DOS to read page;
 > > 
 > > 2) while DOS is awaiting disk i/o, a real-mode interrupt occurs and
 > >    invokes program's interrupt handler;
 > > 
 > > 3) the interrupt handler page faults...
 > 
 > Yup.

Ouch!  That means that real-mode interrupt handling is effectively
broken in 1.12 - unless your handler (and any data that it uses) just
"happen" to be paged in.

I've been using the dpmi_* interrupt handling routines to do
interrupt-driven serial i/o, and not (yet) had any problems.  But it
looks like I've just been lucky!

Nigel

- Raw text -


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