diff options
author | Loïc Hoguin <[email protected]> | 2011-04-16 13:59:30 +0200 |
---|---|---|
committer | Loïc Hoguin <[email protected]> | 2011-04-16 13:59:30 +0200 |
commit | 8f818d79dfe22af8a4a557c1e8676463224b9c22 (patch) | |
tree | edc60a719bb1a4b40cc710ddbe53faadcecb0530 /src/cowboy_acceptor.erl | |
parent | d4985dd72be29f6b472d2f7514b88fa20fb061b6 (diff) | |
download | cowboy-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.erl | 4 |
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? |