Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Posting-Version: version B 2.10.1 6/24/83 SMI; site suneast.uucp Path: utzoo!linus!security!sunne!suneast!geoff From: geoff@suneast.uucp (Geoff Arnold) Newsgroups: net.micro.pc Subject: Re: DOS re-entrancy Message-ID: <137@suneast.uucp> Date: Tue, 4-Mar-86 10:07:07 EST Article-I.D.: suneast.137 Posted: Tue Mar 4 10:07:07 1986 Date-Received: Sat, 8-Mar-86 07:09:54 EST References: <103@nvuxr.UUCP> Organization: Sun Microsystems Inc. - East Coast Division Lines: 16 The obvious solution (so obvious it's gonna be posted umpteen times): grab the int21 vector yourself, and set an "indos" flag when a user call comes in. Your driver then checks "indos" on interrupt: if set, it sets "servicewanted" and lets DOS continue; otherwise it just performs the required activity (including int21's).. On the way out, DOS returns to your int21 interceptor, which clears "indos" and (if "servicewanted" is set) does the necessary servicing. You get the idea. The only real complication is that you probably want to get the interceptor out of the way while the service code is running..... -- #include /* co. lawyers: will this do? */ Geoff Arnold, Sun Microsystems Inc. (East Coast Division) SnailMail: One Cranberry Hill, Lexington, MA 02173; 617-863-8870 x136 UUCP: [East Coast] linus!security!sunne!suneast!geoff [West Coast] {hplabs,ihnp4,nsc,pyramid,decwrl}!sun!suneast!geoff