Report 1213 Actions
Problem Report Number |
1213 |
Submitter's Classification |
Specification problem |
State |
Resolved |
Resolution |
Rejected (REJ) |
Problem Resolution ID |
REJ.X.0415 |
Raised |
1970-01-01 08:00 |
Updated |
2003-03-13 08:00 |
Published |
null |
Product Standard |
Sockets (UNIX 95) |
Certification Program |
The Open Brand certification program |
Test Suite |
VSU version 4.1 |
Test Identification |
CAPIbase/close 11 |
Problem Summary |
PG4U.00052 This test may fail on implementations on due to an inconsistency between XTI_LINGER and SO_LINGER semantics. |
Problem Text |
This test may fail on implementations on due to an inconsistency between XTI_LINGER and SO_LINGER semantics. We request a waiver on the grounds of a Grey Area due to the XPG4 Sockets and XPG4 XTI specifications being inconsistent with regards to lingering. Under t_optmgmt() XTI_LINGER the XPG4 XTI spec says "Depending on the implementation, t_close() or close() either block for at maximum the linger period, or immediately return, whereupon the system holds the connection in existence for at most the linger period." There is no mention of lingering on the t_close() page. Under close() DESCRIPTION the XPG4 Sockets spec says "If the socket is connection-oriented, and the SOCK_LINGER option is set for the socket, and the socket has untransmitted data, then close() will block for up to the current linger interval until all data is transmitted." Having two semantics for close() means that the kernel close routines must distinguish between Sockets and XTI lingering. This breaks the layering of the software. Why should the transport providers need to know which interface paradigm an application program is using? Our close() returns immediately but the kernel continues trying to drain the stream completely. This is consistent with the XTI requirement. We believe that the two specs should be consistent in this respect and that the Sockets spec be interpreted to allow that allowed by the XTI specification.
|
Test Output |
70||"SPEC1170TESTSUITE AREA close 0" 110|0 /tset/CAPIbase/fclose/fclose11 10:50:50|Build Start, scenario ref 3-1 130|0 0 10:50:52|Build End 10|1 /tset/CAPIbase/fclose/fclose11 10:50:52|TC Start, scenario ref 3-1, ICs {11 } 15|1 1.10 1|TCM Start 400|1 11 1 10:50:52|IC Start 200|1 1 10:50:52|TP Start 520|1 1 5853 1 1|SPEC1170TESTSUITE CASE 11 520|1 1 5853 1 2|If the implementation supports the AF_INET communications domai n 520|1 1 5853 1 3|and a connection-oriented socket type: 520|1 1 5853 1 4|A successful call to int close(int fildes) for a 520|1 1 5853 1 5|connection-oriented socket with untransmitted data and 520|1 1 5853 1 6|the SO_LINGER option is set for the socket shall block 520|1 1 5853 1 7|for up to the current linger interval until all data 520|1 1 5853 1 8|is transmitted. 520|1 1 5854 1 1|TEST: AF_INET SOCK_STREAM 520|1 1 5854 1 2|PREP: Create test sockaddr_in: address = 147.2.164.40, port = 4 913 520|1 1 5854 2 1|PREP: Create socket 520|1 1 5854 2 2|PREP: Bind to socket 520|1 1 5854 2 3|PREP: Call listen for socket 520|1 1 5854 2 4|PREP: Signal child parent is ready 520|1 1 5854 2 5|PREP: Wait for child to complete 520|1 1 5855 1 1|PREP: Child: wait for parent 520|1 1 5855 1 2|PREP: Create a socket 520|1 1 5855 1 3|PREP: Connect socket to address 147.2.164.40, port 4913 520|1 1 5855 1 4|PREP: Set 5 second linger interval 520|1 1 5855 1 5|TEST: Repeatedly send 1024 bytes until send blocks 520|1 1 5855 1 6|TEST: close() lingers 520|1 1 5855 1 7|ERROR: close() did not linger as per the time specified 520|1 1 5855 1 8| Expected at least 5 seconds, actually 0 seconds 220|1 1 1 10:50:55|FAIL 410|1 11 1 10:50:55|IC End 80|1 0 10:50:55|TC End 900|10:50:55|TCC End
|
Review Information
Review Type |
TSMA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Recommendation |
No Resolution Given |
Review Response |
We recommend this request be refused after review. This IR correctly points out an issue that needs addressed. But we believe the recommended remedy may be wrong. The suggested change may break sockets-based applications that employ SO_LINGER. There are many more sockets based applications than there are XTI applications. This leads us to believe a to the XTI specification should be the preferred means of resolving this issue. Since the grey area exists between specs rather than in the spec governing this test suite we recommend this request be refused until the conflict between the two specs can be resolved.
|
Review Type |
Expert Group Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
No Resolution Given |
Review Conclusion |
There was no disagreement with the consultant.
|
Review Type |
SA Review |
Start Date |
null |
Completed |
null |
Status |
Complete |
Review Resolution |
Rejected (REJ) |
Review Conclusion |
This request is refused.
|
Problem Reporting System Options:
|