I am implementing a server which accepts many concurrent connections.
I used this structure:
loop(Sock) ->
case gen_tcp:accept(Sock) of
{ok, CSock} ->
fork_handling_process(CSock);
{error, Reason} ->
do_something_else();
end,
loop(Sock).
I am wondering if someone sends me a SYN, but never sends me an SYN ACK in response to my server ACK, will my server be blocked forever by that client since I call gen_tcp:accept without a timeout?
By the way I think this situation is hard to emulate, so please let me know if you have ways to try it out.
Thx in advance.