Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!wuarchive!rex!uflorida!otter.cis.ufl.edu!leh From: leh@otter.cis.ufl.edu (Les Hill) Newsgroups: comp.sys.amiga.programmer Subject: Question on AbortIO() and WaitIO() Message-ID: <28630@uflorida.cis.ufl.EDU> Date: 20 May 91 20:05:06 GMT Sender: news@uflorida.cis.ufl.EDU Reply-To: leh@otter.cis.ufl.edu (Les Hill) Organization: U of Florida. Computer Science Dept. Lines: 36 I have run into a situation which is not clearly documented (to me anyways) in the RKM's (v1.2 ?). Below I have included the relevant fragments of code: ... struct MsgPort *read_port, *write_port; struct IOExtSer *read_req, *write_req; ... BYTE dev_error; struct Message *read_msg; ... /* Clean up */ if (!CheckIO(read_req)) { AbortIO(read_req); if (dev_error = WaitIO(read_req)) { printf("Error waiting for aborted read -- %d\n", dev_error); goto cleanup_8; } read_msg = GetMsg(read_port); // not necessary? } ... The situation is this: a CMD_READ request *should* be queued at the device (the CheckIO() should confirm this), the CMD_READ request is then aborted and a WaitIO() follows as recommended in the RKMs; the WaitIO() returns a -2 (aborted request.) The question that comes to mind is: does WaitIO() dequeue the reply at read_port (read_port is the reply port for read_req) regardless of the error? Additionally, do I need the GetMsg()? Thanks in advance, Les -- Extraordinary crimes against the people and the state have to be avenged by agents extraordinary. Two such people are John Steed -- top professional, and his partner, Emma Peel -- talented amateur; otherwise known as "The Avengers." INTERNET: leh@ufl.edu UUCP: ...!gatech!uflorida!leh BITNET: vishnu@UFPINE