Path: utzoo!mnetor!uunet!husc6!rutgers!sdcsvax!ucbvax!CORY.BERKELEY.EDU!dillon From: dillon@CORY.BERKELEY.EDU (Matt Dillon) Newsgroups: comp.sys.amiga Subject: Re: one last word on my simple device problem Message-ID: <8712241144.AA26621@cory.Berkeley.EDU> Date: 24 Dec 87 11:44:46 GMT Sender: daemon@ucbvax.BERKELEY.EDU Lines: 23 > Essentially, this is what DoIO does: > Set IOF_QUICK bit. > Do a BeginIO > check to see if quick bit still set, if so, return. > else do a SendIO, then a WaitIO, then return. 'Essentially' is right! But you left out one important fact: DoIO() not only sets the IOF_QUICK bit, but clears all the other bits in the Flags field! Realizing that you are putting it into terms anybody can understand, but still a stickler for accuracy (even if my spelling is a bit odd this early in the morning), DoIO() doesn't actually start up a SendIO()... the Begin() did that when the device driver found it could not do the request syncronously. The reply port is actually supplied by the device driver (I think.. at least it is NOT supplied by the DoIO() function, and NOT by the user, so that leaves the device driver!) -MaWTT er, -Matt