Path: utzoo!attcan!uunet!husc6!uwvax!oddjob!gargoyle!att!ihnp4!poseidon!ech From: ech@poseidon.UUCP (Edward C Horvath) Newsgroups: comp.sys.mac.programmer Subject: Re: Re: what the heck is "reentrant"? Message-ID: <465@poseidon.UUCP> Date: 8 Aug 88 19:01:14 GMT References: <104700046@p.cs.uiuc.edu> Organization: AT&T Information Systems, Lincroft, NJ Lines: 17 > Nf-ID: #R:hpcilzb.HP.COM:730049:p.cs.uiuc.edu:104700046:000:808 > Nf-From: p.cs.uiuc.edu!gillies Aug 3 18:44:00 1988 > Here are a few common ways to make something NON-reentrant: ... It's actually pretty easy: anything which modifies a statically-allocated variable potentially loses reentrancy. Consider i := i + 1; If one copy of the program loads i, then another copy runs through the whole statement, then the first copy completes, i winds up incremented only once. This kind of thing is particularly nasty, couse you only get interrupts in that 10-microsecond "window of vulnerability" when the system is already deployed in the field :-) =Ned Horvath=