Closed Bug 86764 Opened 18 years ago Closed 18 years ago
Closing a TCP socket may fail with EINVAL
On Tru64 Unix, closing a TCP socket sometimes fails with the EINVAL error but the socket is actually closed. Compaq confirmed this is a bug. The patch will not be available for another year because we just missed the last patch release. Here are the tracking numbers associated with the tcp socket close() defect: Request ID: BCGM711RJ Field ID: CFS77854 PTR: 117-1-14950 QAR: 81633 and 81431 The following is from the Tru64 Unix Networking Group. > 1. A clear description of the nature of the problem and the > solution. Problem description: A problem exists such that the close() system call, when called to close a TCP socket, may return an error status with errno set to EINVAL. Contrary to the return status, the system call does successfully close the socket. Solution: The solution is a change to TCP processing of the close() request, such that a successful close() completes with a success status. Workaround: Because the socket was successfully closed, an application may safely ignore the EINVAL error. Tru64 UNIX versions affected: V5.1 and earlier, although the problem is most likely to occur on V5.0, V5.0A, and V5.1. Kernel modules affected: tcp_usrreq.o inet.mod > 2. Under what conditions and with what iPlanet products the > problem will occur. The problem is most likely to occur when a socket has been shutdown() for writing, followed by the remote end of the connection being closed, followed by the socket being closed() within 1 second of the remote end closing. > 3. Why the fix to the NSPR library is the best solution. It frees those applications that use it from being dependent on a patch to the base operating system.
I opened a new bug (bug #86941) with Compaq-approved bug description. *** This bug has been marked as a duplicate of 86941 ***
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → DUPLICATE
You need to log in before you can comment on or make changes to this bug.