Mail Archives: djgpp/1994/09/23/15:48:16
I have had problems trying to use the asynctsr tool, especially under
Windows, so I've written a module which doesn't require the separate
TSR, but uses the _go32_dpmi_... interrupt handling functions to
handle the serial port input buffering.
This seems to work fine, under both DOS and Windows, but I am worried.
What happens if an interrupt occurs and some part of the interrupt
routine or its data structures are not paged in?
I believe that Windows' DPMI doesn't really page your program, but
swaps the whole thing in and out in one fell swoop (is this right?),
i.e. as long as the program is running then it should all be there.
But what about under VCPI, XMS, etc. In these cases GO32 provides
real, paged virtual memory. Could GO32 be hosed by a page fault due
to my interrupt routine which occurs while GO32 or DOS is busy. If so
is there any way to make sure that my interrupt routine and its data
is locked down?
Regards
Nigel
_________________________________________________________________________
Nigel Stephens, Algorithmics Ltd, 3 Drayton Park, London, N5 1NU, England
phone: +44 71 700 3301 fax: +44 71 700 3400 email: nigel AT algor DOT co DOT uk
- Raw text -