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 | d687a24dd263da6f3fbf7019c070e24d34be9172 (patch) | |
tree | c8124d38cc35ff1c0e754d0f25777dfd4c4c66cc /src/rabbit_networking.erl | |
parent | 06a5511512b9fb76461c566aebc94b26039f5254 (diff) | |
download | rabbitmq-server-git-d687a24dd263da6f3fbf7019c070e24d34be9172.tar.gz |
Improvement?
Diffstat (limited to 'src/rabbit_networking.erl')
-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 045ab89a70..5003fa0ee1 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) || |