From: Nigel Stephens 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