Path: utzoo!mnetor!uunet!husc6!mailrus!ames!pasteur!ucbvax!CORY.BERKELEY.EDU!dillon From: dillon@CORY.BERKELEY.EDU (Matt Dillon) Newsgroups: comp.sys.amiga Subject: Re: PutMsg and the ln_Type field Message-ID: <8803290037.AA13177@cory.Berkeley.EDU> Date: 29 Mar 88 00:37:16 GMT Sender: daemon@ucbvax.BERKELEY.EDU Lines: 19 > Well, what can i say. That was me who wrote that. And on my >system, SendIO (which i thought called PutMsg) did not set the >type to NT_MESSAGE. I had to set it by hand in internet.device, >else the type was always NT_REPLYMSG. > What is going on here? I don't know. ALl i know is that >on my machine, in the driver, i had to jam the message type >else it never changed back from NT_REPLYMSG. Ah Hah! SendIO() doesn't call PutMsg(), it calls the BeginIO() entry for the device with IOF_QUICK cleared. The device then does whatever it wants. Some devices just AddTail() the request to some queue for processing by an interrupt, or do the request synchronously and then ReplyMsg() it. Thus, you must set the ln_Type field of the request to NT_MESSAGE yourself before dispatching it with SendIO(). (I.E. don't trust the device designers to have remembered that little detailed). I'll bet a lot of people got caught by that! -Matt