Article View: comp.sys.amiga.tech
Article #10890Re: IOQuestion
From: Matt Dillon
Date: Mon, 09 Jan 1989 08:23
Date: Mon, 09 Jan 1989 08:23
32 lines
1791 bytes
1791 bytes
: I write:
:> Also, many people forget to set the ln_Type field of *any* IO
:>request to NT_MESSAGE before calling DoIO()/SendIO()/BeginIO(). In the
:>case of the audio.device it doesn't matter anyway since the audio.device's
:>returning of requests is broken.
gay@elde.epfl.ch (David Gay) Writes:
:Does this mean that there are devices which pass the IORequest to the task
:(or whatever) that actually does the work w/o using PutMsg (which will set
:the ln_Type field to NT_MESSAGE) ? (or w/o setting ln_Type to NT_MESSAGE in
:the BeginIO call)
I was saying two things in that message:
(1) I seem to remember that some IO devices did not set the ln_Type
field to NT_MESSAGE when you did a BeginIO() (i.e. DoIO(),
SendIO(), or BeginIO()). In order for WaitIO() to work, the
request's ln_Type field MUST be NT_MESSAGE until it gets
returned. This does not effect requests that can be done with
QUICKIO because WaitIO() checks the IOF_QUICK flag. Thus, I
always set the ln_Type field to NT_MESSAGE *before* doing the
DoIO()/SendIO()/BeginIO().
(anybody know if this was fixed?)
(2) IO devices always set the ln_Type field to NT_REPLYMSG when they
return a request... well, actually, ReplyMsg() is what does this.
This is how WaitIO() knows when a request has been returned.
Except the audio.device has a bug and doesn't do this.
-Matt
Technical Details
Message-ID:
<8901090823.AA21901@postgres.Berkeley.EDU>Path:
arc1-ca.pugleaf.net!utzoo!utgpu!watmath!clyde!att!rutgers!mailrus!ames!pasteur!ucbvax!POSTGRES.BERKELEY.EDU!dillonShow Full Headers
Complete Article Headers
Path: arc1-ca.pugleaf.net!utzoo!utgpu!watmath!clyde!att!rutgers!mailrus!ames!pasteur!ucbvax!POSTGRES.BERKELEY.EDU!dillon From: dillon@POSTGRES.BERKELEY.EDU (Matt Dillon) Newsgroups: comp.sys.amiga.tech Subject: Re: IOQuestion Message-ID: <8901090823.AA21901@postgres.Berkeley.EDU> Date: 9 Jan 89 08:23:01 GMT Sender: usenet@ucbvax.BERKELEY.EDU Lines: 32