aboutsummaryrefslogtreecommitdiffstats
path: root/src/ranch_conns_sup.erl
diff options
context:
space:
mode:
authorjuhlig <[email protected]>2019-06-20 09:58:54 +0200
committerLoïc Hoguin <[email protected]>2019-06-20 14:08:49 +0200
commit743808d548ff1051d40dd7f4f74563246919419c (patch)
tree9d8177794fda66bfc69409db45a59218367b0239 /src/ranch_conns_sup.erl
parent3bcdf71f95572ebb807ebb6cef6e017ec78c2b11 (diff)
downloadranch-743808d548ff1051d40dd7f4f74563246919419c.tar.gz
ranch-743808d548ff1051d40dd7f4f74563246919419c.tar.bz2
ranch-743808d548ff1051d40dd7f4f74563246919419c.zip
Ranch leaks sockets when protocols fail to start
When a protocol fails to start, the socket will not be closed.
Diffstat (limited to 'src/ranch_conns_sup.erl')
-rw-r--r--src/ranch_conns_sup.erl1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/ranch_conns_sup.erl b/src/ranch_conns_sup.erl
index a5c2206..9307878 100644
--- a/src/ranch_conns_sup.erl
+++ b/src/ranch_conns_sup.erl
@@ -140,6 +140,7 @@ loop(State=#state{parent=Parent, ref=Ref, conn_type=ConnType,
"Ranch listener ~p connection process start failure; "
"~p:start_link/4 crashed with reason: ~p:~999999p~n",
[Ref, Protocol, Class, Reason], Logger),
+ Transport:close(Socket),
loop(State, CurConns, NbChildren, Sleepers)
end;
{?MODULE, active_connections, To, Tag} ->