Mail Archives: djgpp/1994/02/01/14:34:03
> > 4. I've heard that there is a problem locking down the pages for the
> > interrupt handlers right now. Is there a workaround? Can I just
> > disable paging for now? If so, how?
>
> No problem; I just forgot to tell people to do it. It's only needed
> in DPMI mode, as go32 can handle paging in interrupt handlers. Just
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
> do the appropriate DPMI call to lock them.
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.
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.
- Raw text -