From 8f818d79dfe22af8a4a557c1e8676463224b9c22 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Lo=C3=AFc=20Hoguin?= Date: Sat, 16 Apr 2011 13:59:30 +0200 Subject: Add an accept timeout for code reloading. Thought it was already there, but I guess not. Anyway it's here now so everything is back to normal. ;) --- src/cowboy_acceptor.erl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'src/cowboy_acceptor.erl') diff --git a/src/cowboy_acceptor.erl b/src/cowboy_acceptor.erl index 0dbd9b0..ac89874 100644 --- a/src/cowboy_acceptor.erl +++ b/src/cowboy_acceptor.erl @@ -32,11 +32,13 @@ start_link(LSocket, Transport, Protocol, Opts, ReqsSup) -> -spec acceptor(LSocket::socket(), Transport::module(), Protocol::module(), Opts::term(), ReqsSup::pid()) -> no_return(). acceptor(LSocket, Transport, Protocol, Opts, ReqsSup) -> - case Transport:accept(LSocket) of + case Transport:accept(LSocket, 2000) of {ok, CSocket} -> {ok, Pid} = supervisor:start_child(ReqsSup, [CSocket, Transport, Protocol, Opts]), Transport:controlling_process(CSocket, Pid); + {error, timeout} -> + ignore; {error, _Reason} -> %% @todo Probably do something here. If the socket was closed, %% we may want to try and listen again on the port? -- cgit v1.2.3