aboutsummaryrefslogtreecommitdiffstats
path: root/src/cowboy_acceptor.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2011-04-16 13:59:30 +0200
committerLoïc Hoguin <[email protected]>2011-04-16 13:59:30 +0200
commit8f818d79dfe22af8a4a557c1e8676463224b9c22 (patch)
treeedc60a719bb1a4b40cc710ddbe53faadcecb0530 /src/cowboy_acceptor.erl
parentd4985dd72be29f6b472d2f7514b88fa20fb061b6 (diff)
downloadcowboy-8f818d79dfe22af8a4a557c1e8676463224b9c22.tar.gz
cowboy-8f818d79dfe22af8a4a557c1e8676463224b9c22.tar.bz2
cowboy-8f818d79dfe22af8a4a557c1e8676463224b9c22.zip
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. ;)
Diffstat (limited to 'src/cowboy_acceptor.erl')
-rw-r--r--src/cowboy_acceptor.erl4
1 files changed, 3 insertions, 1 deletions
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?