trifork / erjang

A JVM-based Erlang VM
http://www.erjang.org
Apache License 2.0
725 stars 62 forks source link

tcp recv() doesn't return on remote disconnect #38

Closed eriksoe closed 13 years ago

eriksoe commented 13 years ago

== To reproduce: {ok, P} = gen_tcp:listen(12321, [binary, {active,false}]). {ok,Q} = gen_tcp:accept(P). %% telnet to localhost:12321 at this point; don't send anything. gen_tcp:recv(Q, 0). %% make telnet disconnect

== Expected behaviour: recv() returns with result {error,closed}.

== Observed behaviour: recv() doesn't return.

krestenkrab commented 13 years ago

Fixed in https://github.com/krestenkrab/erjang/commit/87c80e4cec8e2e4603c7375ca2ea4f86d5c3c671