Interconnect Software Consortium Socket API Extensions Working Group. --------------------------------------------------------------------- Meeting: Thursday 12th December 2002 20:00GMT (21:00BST, 04:00p EDT, 03:00p CDT, 01:00p PDT, 22:00CEST, 05:00JST+) Toll Free (US & Canada): 1-888-742-8686 International: +1-303-928-2600 Conference ID: 3378790 Alternate teleconference numbers: Toll Free (US & Canada): 1 877 214 5010 International: +1 (504) 588 9772 Code: 769497 -------------------------------- Attendees: David Edmondson, Sun Jeff Messing, IBM Juliana Hsu, IBM Jeremy Harris, Sun Vish Subramanian, HP John Kasperski, IBM -------------------------------- Agenda: 1. Agenda bashing. - some structures which include void * (Jeff) - finish Louis API 0.5 issues (Jeremy), including: + what to do with events when fd's and queues are closed (Vish) - shipping something out (dme) - meeting schedule over the next month (dme) 2. Review action items. See below. 3. Approve Last Minutes. dme to ask on the mailing list. 4. Structures which include void * (Jeff) There are a variety of 'void *' pointers in the current API. Jeff is concerned to ensure that they are appropriate in all cases (consider 32 bit application on 64 bit kernel, 64 bit application on 32 bit kernel). The three cases of concern are: - memory handles, - event queue handles, - correlator handles. The first two of these are generated by the implementation and are not directly manipulated by the application. To allow implementation flexibility, they will be replaced with new opaque types. The third is generated by the application and not directly manipulated by the implementation. It will remain as void *. Implementors will need to be careful to ensure that they are able to maintain an application supplied 'void *' (for example if a 64 bit application is running on a 32 bit kernel). 5. API 0.5 issues. - Why force the user to deregister all events if that can be done in qdelete ? If qdelete removes the associations, there are some difficulties in determining how to behave if there are outstanding operations (see below). Given the current cancellation semantics (cancel is a request), it may be that it is not possible to complete all of the registrations in a timely fashion, or later de-registrations may fail. Hence, we place the burden of removing the associations on the application. After discussion: qdelete will fail if there are any outstanding associations. Use qstatus to find the list of registrations, remove them all then call qdelete. Comments on this (required) approach should be added to the API user guide. - Closing a file descriptor with async ops in flight ? (Vish) Various options available: + provide async_close(), to initiate close. When the completion event for the close is seen, this indicates that there are no more async ops in flight. + 'lose' all of the async operations that are in flight. + allow the in-flight async operations to complete after the close. + close() should fail if any async operations are pending. The discussion concluded with a decision that in-flight async operations would complete normally, but that the `fd' in the completion message would be marked as -1. Applications are expected to track the number of outstanding operations and use the correlator to manage the completions which occur after close(). Ran out of time. 6. Shipping something out (dme) (not discussed at the meeting) The steering committee have asked for a copy of the current requirements document. This will be provided to them in the next couple of days. 7. Upcoming meeting schedule (dme) 2002-12-19 will go ahead. 2002-12-26 is cancelled. 2003-01-02 will go ahead (unless lots of people indicate that they will not be able to attend). Future Topics: -------------------------------- Outstanding Actions: 2002-04-18/02 dme. Draft a paper describing why a unified socket/file IO API would be useful. Kick David. 2002-08-06/01 dme. Produce a clarification on the results of the C3.1 and C7 vote. Pending clarification of the event queue <-> socket binding scope. 2002-10-03/01 dme. Shared memory flag: add to the requirements specification and draft API. 2002-10-03/02 dme. Sendfile/recvfile: draft an update to the requirements specification to include the opinion at the meeting. -------------------------------- Next Meeting: Thursday 19th December 2002 20:00GMT (21:00BST, 04:00p EDT, 03:00p CDT, 01:00p PDT, 22:00CEST, 05:00JST+) Toll Free (US & Canada): 1-888-742-8686 International: +1-303-928-2600 Conference ID: 3378790 Alternate teleconference numbers: Toll Free (US & Canada): 1 877 214 5010 International: +1 (504) 588 9772 Code: 769497 -------------------------------- Contact Details: email: icsc-socketwg@opengroup.org web: http://www.opengroup.org/icsc/sockets/protected