Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!seismo!sundc!pitstop!sun!amdahl!acs From: acs@amdahl.amdahl.com (Tony Sumrall) Newsgroups: comp.sys.amiga Subject: Re: Endless WaitIO() in VT100 Message-ID: <17113@amdahl.amdahl.com> Date: Tue, 27-Oct-87 04:22:09 EST Article-I.D.: amdahl.17113 Posted: Tue Oct 27 04:22:09 1987 Date-Received: Thu, 29-Oct-87 19:53:37 EST References: <16584@amdahl.amdahl.com> <31537@sun.uucp> <16749@amdahl.amdahl.com> <31678@sun.uucp> Reply-To: acs@amdahl.amdahl.com (Tony Sumrall) Organization: Amdahl Corporation, Sunnyvale CA Lines: 30 Summary: Confirmation, please??!!?? In article <31678@sun.uucp> cmcmanis@sun.UUCP (Chuck McManis) writes: >In article <16749@amdahl.amdahl.com> (Tony Sumrall) writes: >>In article <31537@sun.uucp> cmcmanis@sun.UUCP (Chuck McManis) writes: >>>Actually, there is a definite race condition when you use AbortIO to >> ^^^^^^^^---is this a statement of fact or opinion? > >This was stated as a fact by the CATS staff on BIX. At the time the >context was calling the printer device, and it was later generalized >to all devices. Not that I don't trust you, Chuck but could someone from CATS please confirm this?...it's wreaking havoc with my sleep-time (yawn). Specifically, Chuck said: > Actually, there is a definite race condition when you use AbortIO to > abort a request. Since the request may actually finish just before the > call to AbortIO, if you then do a WaitIO you will never return because > the there is no request there! So you probably want to add a call to > CheckIO to make sure the request still exists before waiting on it, thus > the code would look something like ... > > AbortIO(request); > if (CheckIO(...)) WaitIO(request); >--Chuck McManis Many thanks!! -- Tony Sumrall acs@amdahl.com <=> amdahl!acs [ Opinions expressed herein are the author's and should not be construed to reflect the views of Amdahl Corp. ]