home *** CD-ROM | disk | FTP | other *** search
- Xref: sparky comp.os.msdos.programmer:8963 comp.os.msdos.misc:4993
- Newsgroups: comp.os.msdos.programmer,comp.os.msdos.misc
- Path: sparky!uunet!gatech!taco!dspascha
- From: dspascha@eos.ncsu.edu (DAVID SCOTT PASCHAL)
- Subject: Re: Why ms-dos is non reentrant
- Message-ID: <1992Sep1.212240.28439@ncsu.edu>
- Originator: dspascha@c00089-100lez.eos.ncsu.edu
- Lines: 15
- Sender: news@ncsu.edu (USENET News System)
- Reply-To: dspascha@eos.ncsu.edu (DAVID SCOTT PASCHAL)
- Organization: North Carolina State University, Project Eos
- References: <92245.122042A10742@TRMETU.BITNET>
- Date: Tue, 1 Sep 1992 21:22:40 GMT
-
-
- Hi. There are plenty of mostly undocumented INT 21h calls that can be used to
- determine if it's safe to make a DOS call from within an interrupt handler, but
- there are also two function calls that can be used to get the address of the
- Swappable Data Area (SDA) so that if a DOS call is being processed all you do is
- swap out the SDA into your own buffer, make all the DOS calls you want, and
- swap the saved data back into the SDA! I can't remember the specifics since I
- don't have any docs with me, but I know it's INT 21h function 5D06h for DOS 3.x
- and function 5D0Bh for DOS 4.x and later. However, you still have to pay
- attention to "critical sections" delimited by calls to certain (sub)functions
- of INT 2Ah. The book <Undocumented DOS> by Ralf Brown, Andrew Schulman, and
- others explains all about this.
-
- Tschuess,
- David Paschal
-