[Bug 217637] One TCP connection accepted TWO times

bugzilla-noreply at freebsd.org bugzilla-noreply at freebsd.org
Tue Mar 21 10:57:50 UTC 2017


https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=217637

--- Comment #76 from slw at zxy.spb.ru ---
(In reply to Mike Karels from comment #74)

Im don't talk "TCP wait FIN", only "TCP wait ACK=SERVER_FIN.SEQ". Server TCP
have sending and not confirmed data, what reason to discard this server
response?

After got ACK=FIN.SEQ no objection to send RST.

About incoming data to server. Is close(fd) equalent to sutdown(fd, SHUT_RDWR)?
If yes -- incoming data can acknowledged and then silently discarded:

==
SHUT_RD
The read half of the connection is closed— No more data can be received on the
socket and any data currently in the socket receive buffer is discarded. The
process can no longer issue any of the read functions on the socket. Any data
received after this call for a TCP socket is acknowledged and then silently
discarded.

SHUT_WR
The write half of the connection is closed— In the case of TCP, this is called
a
half-close (Section 18.5 of TCPv1). Any data currently in the socket send
buffer
will be sent, followed by TCP's normal connection termination sequence. As we
mentioned earlier, this closing of the write half is done regardless of whether
or
not the socket descriptor's reference count is currently greater than 0. The
process can no longer issue any of the write functions on the socket.

SHUT_RDWR
The read half and the write half of the connection are both closed— This is
equivalent to calling shutdown twice: first with SHUT_RD and then with SHUT_WR.
==

-- 
You are receiving this mail because:
You are the assignee for the bug.


More information about the freebsd-net mailing list