X3J3/96-164 Page 1 of 1 Date: November 10, 1996 To: X3J3 From: Rich Bleikamp Subject: ASYNC I/O and INQUIRE Paper 96-158r2 described the syntax and edits for asynchronous I/O. One more piece of functionality is required: a way to ask about a pending I/O operation, to see if it has completed, without actually waiting for completion. Two obvious alternatives are: 1. Add a NOWAIT keyword and a STATUS=char-variable specifier to the WAIT statement. If the pending I/O operation was already completed, then WAIT would return “PENDING” or “COMPLETE” in the char-variable (or a processor defined value if the handle was not an active handle). This has the advantage that no additional statements, such as INQUIRE, are possibly I/O data transfer statements, or can wait for pending I/O. OR 2. Extend INQUIRE with HANDLE=value and PENDING=char-variable phrases. The user would have to specify the unit #, the handle, and INQUIRE would return “YES” or “NO” in the char-variable specified in the PENDING=specifier. The disadvantage of extending INQUIRE is that it then becomes another possible WAIT operation and a data transfer statement (unless we still require a WAIT even when PENDING returns a “NO”). This clutters the discussion of WAIT operations and data transfers even more, but may be less confusing than a WAIT statement with a NOWAIT keyword.