Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!husc6!mit-eddie!ll-xn!ames!ptsfa!ihnp4!inuxc!iuvax!bsu-cs!null From: null@bsu-cs.UUCP (Patrick Bennett) Newsgroups: comp.sys.ibm.pc Subject: Re: DOS Critical-error handler Message-ID: <888@bsu-cs.UUCP> Date: Sat, 25-Jul-87 15:21:49 EDT Article-I.D.: bsu-cs.888 Posted: Sat Jul 25 15:21:49 1987 Date-Received: Sun, 26-Jul-87 03:08:13 EDT References: <1871@isis.UUCP> <1610020@hpcvlo.HP.COM> <872@bsu-cs.UUCP> <6381@eddie.MIT.EDU> Organization: CS Dept, Ball St U, Muncie, Indiana Lines: 22 In article <6381@eddie.MIT.EDU>, nathan@eddie.MIT.EDU (Nathan Glasser) writes: > In addition, one fact which people don't usually have to think > about but is sometimes important is that some/all? calls to Dos > functions turn on interrupts (sti) at some point before doing > whatever it is they're supposed to do. If your program needs ^^^^^> to leave interrupts turned off for a period of time during which > we also want to set a vector, you can't use the Dos function call. > (I ran into this the other day. It was really tough to find.) Interrupts should ALWAYS be disabled when manipulating interrupt vectors - If interrupts were enabled, one could be called just before you finish updating the interrupt vector with the new address - eg. only the segment address has been changed. Well, what if the interrupt you're changing were called? It would have a correct segment address, but the offset would place it in the twilight zone... Common fumble with the timer tick vector... No no no no no no - definitely clear those interrupts! -- ---- Patrick Bennett UUCP: {ihnp4,seismo}!{iuvax,pur-ee}!bsu-cs!null