>From the server's point of view:
>
> + TCP/IP handshake from client, allocate protocol control blocks
> + receive data from client
> + client resets connection, pcb is destroyed
>
>Exactly why the client resets the connection isn't my concern at
>the moment. Some stacks may place a timeout on the FIN_WAIT state,
>and forcibly reset the reset the connection when the timer expires.
>Alternatively, the client may crash, and then RST in response to
>an ACK transmitted by the server. Or the other end may have set
>SO_LINGER, which will cause close() to send a RST.
>
>The unix-domain bug is because we were treating sockets in the
>DISCONNECTED state identically across all protocols, which turns
>out not to be the case.
>
>As for any data that already exists in the socket buffer on the
>server when the connection is aborted, I believe that the correct
>thing to do is discard it. This is the historical precedent, and
>is supported by the current standards.
>
>Below is a patch that will fix the behavior for unix-domain sockets.
from code inspection on netbsd, I guess you'd need to do something for
other sys/net* families. maybe we need another per-domain/per-socket
flag for this?
itojun
To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-net" in the body of the message