WG15 Defect Report Ref: 9945-1-amd1-01
Topic: async IO


This is an approved interpretation of 9945-1-amd1-1993.

.

Last update: 1997-05-20


                                                                9945-1-amd1-93 #01

	Defect Report Number: (to be assigned by WG15)
        Topic:                  async IO
        Relevant Sections:      6.7.4.2
        Classification:         See responses below.
 _____________________________________________________________________________

Date Received: Wed, 13 Jul 1994 00:51:22 GMT
From: [email protected] (Jeffrey Heller)
Contact info: [email protected] (415) 390-4796

Defect Report:
-----------------------

I have a couple of question on the async IO section of POSIX
1003.b1-1993. Reading section 6.7.4.2 (the description of the
lio_listio call) I am not clear on:

        1) does the sigev_notify field need to be filled in the sig
        argument to lio_listio. The generic section on the aiocb
        (6.7.1.1) talks about the use of the sigev_notify field,
        however the section on lio_listio described different
        requirements using the same structure.

        1b) If not can it be filled in, and what is the behavior if
        for example the sigev_filed was set to SIGEV_NONE and the
        sigev_signo is non zero.

        2) If a user puts valid values in the sigev_notify and
        sigev_signo fields in members of the aiocb list in a call to
        lio_listio() what happens? Are they ignored, do that happen as
        well as/instead of the event that is described by *sig argument.

WG15 response for 9945-1-amd1-1993
------------------------------------

1. The standard is clear that SIGEV_NOTIFY is ignored and a signal shall be 
sent.  Conforming implementations must conform to this.  This is different 
from the definition in section 3.3.1.2 and which the interpretation committee
views as a defect in the standard.  This fact is being refered to the 
sponsor for consideration.  The interpretation committee suggests that
applications might wish to consistently set SIGEV_NOFTIFY and SIGEV_SIGNO 
so that the application would continue to work correctly if the standard 
is changed.

2. The standard is clear that in the case raised, that a signal is generated at 
the completion of each i/o operation where sigev_signo is non-zero and one is 
also generated when the entire set of operations is completed.  Conforming 
implementations must conform to this.


Rationale
----------
None.


Response date: 8/30/94


 _____________________________________________________________________________