Mail Archives: djgpp/1998/07/16/09:02:07
On Thu, 16 Jul 1998, Steve Ball wrote:
> Some of the BIOS calls we use hang on some machines. To recover from this,
> before executing the BIOS call, we set up a handler for the timer tick. If
> the handler is not removed before its countdown reaches zero, it longjmp()s
> the execution back to a known point which gets it out of the hung BIOS call.
>
> None of this works in protected mode of course. Has anybody got any smart
> ideas about how to recover from hung BIOS calls?
I don't think you can. From what I understand, you want to jump out of a
mode switch (calling a BIOS function requires the DPMI server to switch to
real mode and reissue the call, then switch back when the BIOS call
returns). This will probably wreak havoc on the DPMI server.
It is better to try to prevent the BIOS calls from hanging in the first
place. Which calls hang and why?
- Raw text -