Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.2 9/18/84; site bnrmtv.UUCP Path: utzoo!watmath!clyde!burl!ulysses!bellcore!decvax!decwrl!sun!amdahl!bnrmtv!connery From: connery@bnrmtv.UUCP (Glenn Connery) Newsgroups: net.micro.pc Subject: Re: DOS re-entrancy Message-ID: <276@bnrmtv.UUCP> Date: Tue, 11-Mar-86 15:04:03 EST Article-I.D.: bnrmtv.276 Posted: Tue Mar 11 15:04:03 1986 Date-Received: Fri, 14-Mar-86 06:25:09 EST References: <103@nvuxr.UUCP> <23900011@siemens.UUCP> Organization: Bell Northern Research, Mtn. View, CA Lines: 29 > > There is a flag buried in the internal data area for MS-DOS called INDOS. > A 0 value indicates that MS-DOS is not currently executing in a critical > section. Any other value indicates that you can not make a Int 21 call. > > To find out the current value of this flag: > > 1. Before interrupt processing starts execute the GET_INDOS_FLAG > function. This is function 34h in MS-DOS. > (i.e. AX = 34h when doing the Int 21) > > 2. Upon return you don't get the flag but rather a pointer to > it in ES:BX. ES = the segment address and BX = the offset > address of the INDOS flag. > > 3. When the interrupt occurs directly test this byte from the > interrupt handler to determine if calls to MS-DOS are > allowable. You will have to determine appropriate actions > if the interrupt occurred during a critical section of MS-DOS. > > Hope this helps. > > Jim Vallino > {allegra,ihnp4}!princeton!siemens!jrv -- Glenn Connery, Bell Northern Research, Mountain View, CA {hplabs,amdahl,3comvax}!bnrmtv!connery