Messages in this thread | | | Date | Fri, 8 Jan 1999 22:28:55 +0000 (GMT) | From | Ben Hutchings <> | Subject | Re: TCP behaviour change between 2.0.36 and 2.2pre4 |
| |
On Wed, 6 Jan 1999, Meelis Roos wrote:
> 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/
| |