diff options
author | Simon MacMullen <simon@rabbitmq.com> | 2012-01-20 15:29:38 +0000 |
---|---|---|
committer | Simon MacMullen <simon@rabbitmq.com> | 2012-01-20 15:29:38 +0000 |
commit | 46317e689f246243d8e4f65d54e30006d70eed39 (patch) | |
tree | c8124d38cc35ff1c0e754d0f25777dfd4c4c66cc | |
parent | 350fd440868ae032765e3dcdc29b37fafd0287f3 (diff) | |
download | rabbitmq-server-46317e689f246243d8e4f65d54e30006d70eed39.tar.gz |
Improvement?
-rw-r--r-- | src/rabbit_networking.erl | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/src/rabbit_networking.erl b/src/rabbit_networking.erl index 045ab89a..5003fa0e 100644 --- a/src/rabbit_networking.erl +++ b/src/rabbit_networking.erl @@ -240,15 +240,20 @@ start_listener(Listener, Protocol, Label, OnConnect) -> ok. start_listener0({IPAddress, Port, Family, Name}, Protocol, Label, OnConnect) -> - {ok,_} = supervisor:start_child( - rabbit_sup, - {Name, - {tcp_listener_sup, start_link, - [IPAddress, Port, [Family | tcp_opts()], - {?MODULE, tcp_listener_started, [Protocol]}, - {?MODULE, tcp_listener_stopped, [Protocol]}, - OnConnect, Label]}, - transient, infinity, supervisor, [tcp_listener_sup]}). + case supervisor:start_child( + rabbit_sup, + {Name, + {tcp_listener_sup, start_link, + [IPAddress, Port, [Family | tcp_opts()], + {?MODULE, tcp_listener_started, [Protocol]}, + {?MODULE, tcp_listener_stopped, [Protocol]}, + OnConnect, Label]}, + transient, infinity, supervisor, [tcp_listener_sup]}) of + {ok, _} -> + ok; + {error, {shutdown, _}} -> + exit({could_not_start_tcp_listener, {IPAddress, Port}}) + end. stop_tcp_listener(Listener) -> [stop_tcp_listener0(Spec) || |