summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Klishin <michael@clojurewerkz.org>2020-07-09 16:31:38 +0300
committerMichael Klishin <michael@clojurewerkz.org>2020-07-14 03:50:32 +0300
commit42817a936533f243a16d8eddfcde8162789d5e6a (patch)
tree07d0f0d31805f33fc2a3aa480e85e8d1d1784415
parent3e24c4070b1bcfef4dc0b112b402c8bbeb22aa54 (diff)
downloadrabbitmq-server-git-42817a936533f243a16d8eddfcde8162789d5e6a.tar.gz
Be more defensive when computing Ranch ref from protocol name
Part of rabbitmq/rabbitmq-server#2321
-rw-r--r--src/rabbit_networking.erl6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/rabbit_networking.erl b/src/rabbit_networking.erl
index dc9f0204c1..0aa5f2e777 100644
--- a/src/rabbit_networking.erl
+++ b/src/rabbit_networking.erl
@@ -198,14 +198,16 @@ tcp_listener_spec(NamePrefix, {IPAddress, Port, Family}, SocketOpts,
modules => [tcp_listener_sup]
}.
--spec ranch_ref(#listener{} | [{atom(), any()}]) -> ranch:ref().
+-spec ranch_ref(#listener{} | [{atom(), any()}] | 'undefined') -> ranch:ref().
ranch_ref(#listener{port = Port}) ->
[{IPAddress, Port, _Family} | _] = tcp_listener_addresses(Port),
{acceptor, IPAddress, Port};
ranch_ref(Listener) when is_list(Listener) ->
Port = rabbit_misc:pget(port, Listener),
[{IPAddress, Port, _Family} | _] = tcp_listener_addresses(Port),
- {acceptor, IPAddress, Port}.
+ {acceptor, IPAddress, Port};
+ranch_ref(undefined) ->
+ undefined.
-spec ranch_ref(inet:ip_address(), ip_port()) -> ranch:ref().