🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.sys.ibm.pc
Article #14739

Interrupting DOS

#14739
From: Tom Welsh
Date: Thu, 13 Nov 1986 18:36
39 lines
2000 bytes
Some help please ...

As many of you may know, DOS is NOT reentrant.  In other words,
if DOS is busy doing something like writing to disk or printer,
then no interrupt routine should attempt to invoke a DOS service,
e.g. INT 21H.   I found this out by having a program crash.  My
suspicions were verified by being able to consistenly produce
the error.

As further "hint", I quote from ADVANCED-MSDOS, from Microsoft Press:

"Since the current versions of MS-DOS are not reentrant, the MS-DOS
functions should never be called by a hardware interrupt handler
during the actual interrupt processing."  -- page 216

Fine, I accept all this.

Here's what I'm curious about ...

SuperKey, which responds to keyboard interrupts, seems to obey this
rule.  If, while doing nothing, I press ALT-/ to invoke Superkey,
it comes up instantly.  If I do something like copy a gigantic
file (requiring several seconds), and I press ALT-/ as soon as the
copy starts, Superkey WAITS until the copy is done before it comes
up.   HOW DOES IT KNOW at the time of the interrupt that DOS was
currently doing something and should not be interrupted?  A while ago,   
someone on the net mentioned a DOS/BIOS service or a flag that could
be checked to see if DOS was busy.  I can't find such a thing in
the Superkey code.

Any clues?


And, on another note, I found an INT 28H in the Superkey code.  What
does this do?  All my documentation says its reserved for DOS.   

Thanks in advance for information.

- Tom Welsh
Technical Details
Message-ID: <2409@vrdxhq.UUCP>
Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!vrdxhq!tom

Show Full Headers
Complete Article Headers
Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP
Path: arc1-ca.pugleaf.net!utzoo!mnetor!seismo!vrdxhq!tom
From: tom@vrdxhq.UUCP (Tom Welsh)
Newsgroups: comp.sys.ibm.pc
Subject: Interrupting DOS
Message-ID: <2409@vrdxhq.UUCP>
Date: Thu, 13-Nov-86 13:36:53 EST
Article-I.D.: vrdxhq.2409
Posted: Thu Nov 13 13:36:53 1986
Date-Received: Thu, 13-Nov-86 23:43:12 EST
Organization: Verdix Corporation, Chantilly, VA
Lines: 39
Keywords: Interrupts, reentrant, DOS, SuperKey