|
Home About Us A-Z Index Search * Contact Us Register Login Press ShopThe Open Brand -- Problem Reporting and Interpretations System |
Problem Report 1176 Details
Show help | Quick Search | Submit a Test Suite Support Request | Click here to view your privileges
This page provides all information on Problem Report 1176.
Report 1176 Actions
Problem Report Number 1176 Submitter's Classification Test Suite problem State Resolved Resolution Rejected (REJ) Problem Resolution ID REJ.X.0378 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.0 Test Identification Sockets/accept 1 Problem Summary PG4U.00089 This request claims that implementations need not support setting the SO_LINGER option on UNIX domain sockets. Problem Text
This test may fail if SO_LINGER is not supported on a UNIX domain
socket.
The testcase attempts to set SO_LINGER option at SOL_SOCKET level
on a UNIX protocol socket.
If the option is not supported by protocol, setsockopt() will fail
with ENOPROTOOPT in the CAE Specification , in the Sockets Interfaces
section, under setsockopt().
Our implementation does not support setting this option for a UNIX
socket. So in case of this, setsockopt() fail with ENOPROTOPT error.
The testcase should consider that setsockopt() will fail with
ENOPROTOPT error.
Test Output
TEST PURPOSE #1
If the implementation supports a communications
domain and a connection-oriented socket type:
A successful call to int accept(int socket, struct
sockaddr *address, size_t *address_len) shall extract
the first pending connection present on socket, create
a new socket with the same socket type protocol and
address family as socket, allocate a new file
descriptor for the new socket, and return that file
descriptor.
TEST: AF_INET SOCK_STREAM
PREP: Create test sockaddr_in: address = 133.208.11.154, port = 1961
PREP: Create socket
PREP: Set socket linger option
PREP: Bind to socket
PREP: Call listen for socket
PREP: Signal child parent is ready
TEST: Call accept
TEST: Returned descriptor is new
TEST: New descriptor has same properties as original
CLEANUP: Close sockets, kill child
TEST: AF_UNIX SOCK_STREAM
PREP: Create test sockaddr_un: path = ../tmp/unix.a002Js
PREP: Child: wait for parent
PREP: Create a socket
PREP: Connect socket to address 133.208.11.154, port 1961
PREP: Child: wait for parent to complete
CLEANUP: Child: close socket
PREP: Create socket
PREP: Set socket linger option
ERROR: setsockopt failed, errno = 99(ENOPROTOOPT - Protocol not available)
PREP: Child: wait for parent
1 UNRESOLVEDReview 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.
The setsockopt() spec states that
The socket level options can be enabled or disabled.
The options are as follows:
...
SO_LINGER Lingers on a close() if data is
present. This option controls
...
The spec does not mention any case where support for this option
is optional. In fact, the setsockopt() spec Application Usage
section states that
The SO_ options are always present at the uppermost
socket level.
So we believe all sockets must support a call to
setsockopt(,,SO_LINGER,,,) even if the socket is
implemented in such a way that a linger will never
occur.
Review Type SA Review Start Date null Completed null Status Complete Review Resolution Rejected (REJ) Review Conclusion
X
This request is refused.
Problem Reporting System Options:
- View Report 1176
- List All PRs
- Search Reports
- Email the System Administrator
- View the The Open Brand Interpretations Database User Manual
Contact the Certification Authority