delorie.com/archives/browse.cgi   search  
Mail Archives: djgpp/1994/02/01/16:31:00

Date: Tue, 1 Feb 94 15:40:34 -0500
From: DJ Delorie <dj AT ctron DOT com>
To: rri!potter AT vtserf DOT cc DOT vt DOT edu
Cc: djgpp AT sun DOT soe DOT clarkson DOT edu
Subject: Re: GO32 paging in interrupt handlers, was: Multitasking under djgpp

> Even if DOS is in a non-reentrent state?  My example would be while in a DOS
> critical error interrupt handler (Interrupt 24h).  While in such a handler only
> a very few DOS calls a valid, and none of those involve the disk.

That's an exception.  The original statement was that *go32* can
handle page faults while servicing interrupts.  This doesn't mean that
DOS can.  Sad but true; you'll have to get a different operating
system if you want this kind of support.

> The reason I'm asking is that I've been working on (on and off) the Borland &
> Microsoft style harderr() functions.  In the program that I originally wrote
> these for, I was having a problem with the computer hanging on any critical
> error that occured after I did a system().  Originally I thought that system()
> wasn't quit right, that it was lossing the interrupt vectors that I had set
> before the system() call (I found that recalling my harderr() function to reset
> the vector solved the problem).  Now I realize that the real problem was that
> the harderr catch functions was swapped out and calling harderr() caused it to
> be swapped back in. (Actually I probably sould release the interrupt before the
> system() call and then rehook it on return.)  This then reopens the question
> the original poster asked of, How to lock down pages?  I know I could use the
> DPMI call, however my current program does not work under DPMI, and I don't
> remember seeing that one listed as one of the DPMI calls GO32 supports.

Go32 supports "un-page-out-able pages" but has no way of marking them
as such from an application.  I suppose it would be a trivial addition
to go32 for a maintainence release to provide such a hook, but I don't
know how it would handle out-of-memory conditions (probably a panic
for starters).


- Raw text -


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