aboutsummaryrefslogtreecommitdiffstats
path: root/src/ranch_acceptor.erl
diff options
context:
space:
mode:
authorLoïc Hoguin <[email protected]>2013-01-15 17:49:30 +0100
committerLoïc Hoguin <[email protected]>2013-01-15 17:49:30 +0100
commit0a101a324da969e51395d21e2782095a433b2084 (patch)
tree801eca39f793f985e747a92bde3ff3cb50a313e9 /src/ranch_acceptor.erl
parent56d75d4c03bd6eb0f7c89806b310a9c38022b6fd (diff)
parent662d94a531178af005f06b0bfb4a8660b0fa023f (diff)
downloadranch-0a101a324da969e51395d21e2782095a433b2084.tar.gz
ranch-0a101a324da969e51395d21e2782095a433b2084.tar.bz2
ranch-0a101a324da969e51395d21e2782095a433b2084.zip
Merge branch 'optimise-conn-count' of https://github.com/ferd/ranch
Diffstat (limited to 'src/ranch_acceptor.erl')
-rw-r--r--src/ranch_acceptor.erl9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/ranch_acceptor.erl b/src/ranch_acceptor.erl
index aef98d7..63d24c8 100644
--- a/src/ranch_acceptor.erl
+++ b/src/ranch_acceptor.erl
@@ -56,8 +56,13 @@ loop(LSocket, Transport, Protocol, MaxConns, Opts, ListenerPid, ConnsSup) ->
[ListenerPid, CSocket, Transport, Protocol, Opts]),
Transport:controlling_process(CSocket, ConnPid),
ConnPid ! {shoot, ListenerPid},
- NbConns = ranch_listener:add_connection(ListenerPid, ConnPid),
- {ok, MaxConns2} = maybe_wait(ListenerPid, MaxConns, NbConns),
+ {ok, MaxConns2} = case MaxConns of
+ infinity ->
+ {ok, infinity};
+ _ ->
+ NbConns = ranch_listener:add_connection(ListenerPid, ConnPid),
+ maybe_wait(ListenerPid, MaxConns, NbConns)
+ end,
?MODULE:init(LSocket, Transport, Protocol,
MaxConns2, Opts, ListenerPid, ConnsSup);
%% Upgrade the max number of connections allowed concurrently.