From: "Steve Ball" Newsgroups: comp.os.msdos.djgpp Subject: Re: longjmp() from interrupt handler Date: Fri, 17 Jul 1998 19:08:38 +1200 Organization: Customer of Telecom Internet Services Lines: 19 Message-ID: <6omtlb$9gs$1@wolfman.xtra.co.nz> References: NNTP-Posting-Host: p38-m8-mdr1.dialup.xtra.co.nz To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk Thanks for your help to my tricky problem. I couldn't agree more that forcefully bombing the BIOS out of a hung call is a dangerous idea. But what can you do? The call in question is Int 13h/AX=41h/BX=55AAh which checks to see which extended Int 13h disk i/o services are available. Trying the services to find out if they are available can itself hang the BIOS. The only way is to try Int 13h/AX=41h, and for those very few BIOSes that hang on that call, recover from the hang and assume that no extended Int 13h services are provided. Josh Turpen, the author of the LWP multi-threading library, has suggested using an illegal instruction trap to recover. This sounds like a promising idea. Even better would be to use the threading library and just run the call in a separate thread. I'll be looking into this... I'm not sure if it will work with PMODE/DJ.