Path: utzoo!utgpu!attcan!uunet!lll-winken!lll-ncis!helios.ee.lbl.gov!pasteur!ucbvax!POSTGRES.BERKELEY.EDU!dillon From: dillon@POSTGRES.BERKELEY.EDU (Matt Dillon) Newsgroups: comp.sys.amiga.tech Subject: BUG IN AUDIO.DEVICE Message-ID: <8901070159.AA04046@postgres.Berkeley.EDU> Date: 7 Jan 89 01:59:49 GMT Sender: daemon@ucbvax.BERKELEY.EDU Lines: 19 audio.device and incorrectly attributed it to WaitIO(). The problem is that the audio.device does NOT ALWAYS USE ReplyMsg() to return requests! This means that the ln_Type field of the request will not be set to NT_REPLYMSG. WaitIO() depends on this to work! Thus, for the audio device, Under no circumstances are you to use WaitIO()! Instead, use WaitPort()/GetMsg() to get the request from the message port when it is returned. I have found that with heavy use of CMD_WRITE's about 2-5% of the requests are returned in this manner (i.e. improperly). 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. -Matt