Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!uunet!husc6!mit-eddie!ll-xn!ames!lll-tis!ptsfa!amdahl!acs From: acs@amdahl.amdahl.com (Tony Sumrall) Newsgroups: comp.sys.amiga Subject: Re: Endless WaitIO() in VT100 Message-ID: <16749@amdahl.amdahl.com> Date: Thu, 22-Oct-87 04:05:30 EDT Article-I.D.: amdahl.16749 Posted: Thu Oct 22 04:05:30 1987 Date-Received: Sat, 24-Oct-87 16:45:18 EDT References: <16584@amdahl.amdahl.com> <31537@sun.uucp> Reply-To: acs@amdahl.amdahl.com (Tony Sumrall) Organization: Amdahl Corporation, Sunnyvale CA Lines: 31 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? >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); I took the postings back in May to mean that AbortIO() will work correctly regardless of the "state" of the request (i.e. completed or not). If the request *has* completed you should have a signal waiting for you, no? The AbortIO() shouldn't diddle with pending signals should it? I don't think so but a little inside knowledge would help here (C-A, you there :-). Nonetheless, your stated method may work and I'll give 'er a try once I have a free hour or so. BTW, if anyone is interested in a transcript of the postings that I keep alluding to I'd be happy to ship you a copy...just send me some mail. >--Chuck McManis -- 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. ]