summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rabbit_networking.erl8
-rw-r--r--src/tcp_listener.erl27
-rw-r--r--src/tcp_listener_sup.erl14
3 files changed, 25 insertions, 24 deletions
diff --git a/src/rabbit_networking.erl b/src/rabbit_networking.erl
index eab89363ab..223798c898 100644
--- a/src/rabbit_networking.erl
+++ b/src/rabbit_networking.erl
@@ -107,12 +107,12 @@ check_tcp_listener_address(NamePrefix, Host, Port) ->
{IPAddress, Name}.
start_tcp_listener(Host, Port) ->
- start_listener(Host, Port, {?MODULE, start_client, []}).
+ start_listener(Host, Port, "TCP Listener", {?MODULE, start_client, []}).
start_ssl_listener(Host, Port, SslOpts) ->
- start_listener(Host, Port, {?MODULE, ssl_connection_upgrade, [SslOpts]}).
+ start_listener(Host, Port, "SSL Listener", {?MODULE, ssl_connection_upgrade, [SslOpts]}).
-start_listener(Host, Port, OnConnect) ->
+start_listener(Host, Port, Label, OnConnect) ->
{IPAddress, Name} = check_tcp_listener_address(rabbit_tcp_listener_sup, Host, Port),
{ok,_} = supervisor:start_child(
rabbit_sup,
@@ -121,7 +121,7 @@ start_listener(Host, Port, OnConnect) ->
[IPAddress, Port, ?RABBIT_TCP_OPTS ,
{?MODULE, tcp_listener_started, []},
{?MODULE, tcp_listener_stopped, []},
- OnConnect]},
+ OnConnect, Label]},
transient, infinity, supervisor, [tcp_listener_sup]}),
ok.
diff --git a/src/tcp_listener.erl b/src/tcp_listener.erl
index 92a47cf127..ad13a1ccae 100644
--- a/src/tcp_listener.erl
+++ b/src/tcp_listener.erl
@@ -33,28 +33,28 @@
-behaviour(gen_server).
--export([start_link/7]).
+-export([start_link/8]).
-export([init/1, handle_call/3, handle_cast/2, handle_info/2,
terminate/2, code_change/3]).
--record(state, {sock, on_startup, on_shutdown}).
+-record(state, {sock, on_startup, on_shutdown, label}).
%%--------------------------------------------------------------------
start_link(IPAddress, Port, SocketOpts,
ConcurrentAcceptorCount, AcceptorSup,
- OnStartup, OnShutdown) ->
+ OnStartup, OnShutdown, Label) ->
gen_server:start_link(
?MODULE, {IPAddress, Port, SocketOpts,
ConcurrentAcceptorCount, AcceptorSup,
- OnStartup, OnShutdown}, []).
+ OnStartup, OnShutdown, Label}, []).
%%--------------------------------------------------------------------
init({IPAddress, Port, SocketOpts,
ConcurrentAcceptorCount, AcceptorSup,
- {M,F,A} = OnStartup, OnShutdown}) ->
+ {M,F,A} = OnStartup, OnShutdown, Label}) ->
process_flag(trap_exit, true),
case gen_tcp:listen(Port, SocketOpts ++ [{ip, IPAddress},
{active, false}]) of
@@ -65,15 +65,16 @@ init({IPAddress, Port, SocketOpts,
end,
lists:duplicate(ConcurrentAcceptorCount, dummy)),
{ok, {LIPAddress, LPort}} = inet:sockname(LSock),
- error_logger:info_msg("started TCP listener on ~s:~p~n",
- [inet_parse:ntoa(LIPAddress), LPort]),
+ error_logger:info_msg("started ~s on ~s:~p~n",
+ [Label, inet_parse:ntoa(LIPAddress), LPort]),
apply(M, F, A ++ [IPAddress, Port]),
{ok, #state{sock=LSock,
- on_startup = OnStartup, on_shutdown = OnShutdown}};
+ on_startup = OnStartup, on_shutdown = OnShutdown,
+ label=Label}};
{error, Reason} ->
error_logger:error_msg(
- "failed to start TCP listener on ~s:~p - ~p~n",
- [inet_parse:ntoa(IPAddress), Port, Reason]),
+ "failed to start ~s on ~s:~p - ~p~n",
+ [Label, inet_parse:ntoa(IPAddress), Port, Reason]),
{stop, {cannot_listen, IPAddress, Port, Reason}}
end.
@@ -86,11 +87,11 @@ handle_cast(_Msg, State) ->
handle_info(_Info, State) ->
{noreply, State}.
-terminate(_Reason, #state{sock=LSock, on_shutdown = {M,F,A}}) ->
+terminate(_Reason, #state{sock=LSock, on_shutdown = {M,F,A}, label=Label}) ->
{ok, {IPAddress, Port}} = inet:sockname(LSock),
gen_tcp:close(LSock),
- error_logger:info_msg("stopped TCP listener on ~s:~p~n",
- [inet_parse:ntoa(IPAddress), Port]),
+ error_logger:info_msg("stopped ~s on ~s:~p~n",
+ [Label, inet_parse:ntoa(IPAddress), Port]),
apply(M, F, A ++ [IPAddress, Port]).
code_change(_OldVsn, State, _Extra) ->
diff --git a/src/tcp_listener_sup.erl b/src/tcp_listener_sup.erl
index 901a0da3b7..d6bbac080f 100644
--- a/src/tcp_listener_sup.erl
+++ b/src/tcp_listener_sup.erl
@@ -33,23 +33,23 @@
-behaviour(supervisor).
--export([start_link/6, start_link/7]).
+-export([start_link/7, start_link/8]).
-export([init/1]).
start_link(IPAddress, Port, SocketOpts, OnStartup, OnShutdown,
- AcceptCallback) ->
+ AcceptCallback, Label) ->
start_link(IPAddress, Port, SocketOpts, OnStartup, OnShutdown,
- AcceptCallback, 1).
+ AcceptCallback, 1, Label).
start_link(IPAddress, Port, SocketOpts, OnStartup, OnShutdown,
- AcceptCallback, ConcurrentAcceptorCount) ->
+ AcceptCallback, ConcurrentAcceptorCount, Label) ->
supervisor:start_link(
?MODULE, {IPAddress, Port, SocketOpts, OnStartup, OnShutdown,
- AcceptCallback, ConcurrentAcceptorCount}).
+ AcceptCallback, ConcurrentAcceptorCount, Label}).
init({IPAddress, Port, SocketOpts, OnStartup, OnShutdown,
- AcceptCallback, ConcurrentAcceptorCount}) ->
+ AcceptCallback, ConcurrentAcceptorCount, Label}) ->
%% This is gross. The tcp_listener needs to know about the
%% tcp_acceptor_sup, and the only way I can think of accomplishing
%% that without jumping through hoops is to register the
@@ -62,5 +62,5 @@ init({IPAddress, Port, SocketOpts, OnStartup, OnShutdown,
{tcp_listener, {tcp_listener, start_link,
[IPAddress, Port, SocketOpts,
ConcurrentAcceptorCount, Name,
- OnStartup, OnShutdown]},
+ OnStartup, OnShutdown, Label]},
transient, 100, worker, [tcp_listener]}]}}.