> DSM> Your application needs to be fixed, it should sink all read data
> DSM> remaining on the socket before closing. If data is unread, TCP does
> DSM> not know if this was intentional and assumes that data integrity has
> DSM> been lost (because transfered bytes did not make it to the receiving
> DSM> application), and thus the RST response to indicate this.
>
> If I understand correctly this approach has a race condition. The
> application can't guarantee that there's no data left: it reads all
> then some data arrives and then the app closes the socket.
It is up to the designers of higher-level protocols to define how a
normal end-of-session should be agreed upon by the two parties.
-- Ben Hutchings, software engineer | web site to be reconstructed at some time womble@ferret.lmh.ox.ac.uk | Team *AMIGA* | Jay Miner Society - www.jms.org To err is human; to really foul things up requires a computer.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/