karn@KA9Q.BELLCORE.COM.UUCP (02/18/87)
Who says you have to throw away pending data when the TCP connection enters the CLOSED state? In my implementation I put incoming data on a receive queue and notify the user with an upcall. The user is entirely within his rights if he chooses not to read it right away. When the connection changes state (e.g., from TIME_WAIT to CLOSED) the user is also notified with an upcall. However, the control block goes away only in response to an explicit call from the user. This gives it a chance to read any unread data or to throw it away. Phil