[erlang-questions] : gen_tcp not correctly handling half duplex (shutdown) sockets?
Raimo Niskanen
raimo+erlang-questions@REDACTED
Wed Dec 19 10:22:23 CET 2007
We will look into this after the holidays...
Thank you for the bug report! (at least it appears to be a bug)
On Tue, Dec 18, 2007 at 12:49:05PM -0600, Scott R Parish wrote:
>
> ----- Original Message -----
> > Its not clear to me if i'm doing something wrong, or if gen_tcp isn't
> > correctly handling half duplex sockets.
>
> ...
>
> > Its like erlang is thinking that the whole socket got closed, instead of
> > just one direction, and close()ed it.
>
> I think this might be the problem. In R11-B5's inet_drv.c line 8499:
>
> else if (n == 0) {
> DEBUGF((" => detected close\r\n"));
> return tcp_recv_closed(desc);
> }
>
> tcp_recv_closed()'s is described as:
>
> /* The socket has closed, cleanup and send event */
>
> This isn't completely correct as the socket isn't necessarily close()d,
> just shutdown() in a single direction.
>
> sRp
>
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://www.erlang.org/mailman/listinfo/erlang-questions
--
/ Raimo Niskanen, Erlang/OTP, Ericsson AB
More information about the erlang-questions
mailing list