diff options
author | Matthew Sackman <matthew@rabbitmq.com> | 2010-08-13 16:04:11 +0100 |
---|---|---|
committer | Matthew Sackman <matthew@rabbitmq.com> | 2010-08-13 16:04:11 +0100 |
commit | 20d06d5ce38c259261bcaf0a35acf1b68300b0a7 (patch) | |
tree | aea3fa806e990f9452d36b0c0f3267f54d7311af | |
parent | 45ab05142b64d1f047c3a855565765c63a3d2f4f (diff) | |
download | rabbitmq-server-20d06d5ce38c259261bcaf0a35acf1b68300b0a7.tar.gz |
Reduce calls to connection_sup:reader
-rw-r--r-- | src/rabbit_connection_sup.erl | 6 | ||||
-rw-r--r-- | src/rabbit_networking.erl | 3 |
2 files changed, 4 insertions, 5 deletions
diff --git a/src/rabbit_connection_sup.erl b/src/rabbit_connection_sup.erl index 2606210b..69e21d73 100644 --- a/src/rabbit_connection_sup.erl +++ b/src/rabbit_connection_sup.erl @@ -43,7 +43,7 @@ -ifdef(use_specs). --spec(start_link/0 :: () -> rabbit_types:ok(pid())). +-spec(start_link/0 :: () -> {'ok', pid(), pid()}). -spec(reader/1 :: (pid()) -> pid()). -endif. @@ -62,13 +62,13 @@ start_link() -> SupPid, {collector, {rabbit_queue_collector, start_link, []}, intrinsic, ?MAX_WAIT, worker, [rabbit_queue_collector]}), - {ok, _ReaderPid} = + {ok, ReaderPid} = supervisor2:start_child( SupPid, {reader, {rabbit_reader, start_link, [ChannelSupSupPid, Collector, start_heartbeat_fun(SupPid)]}, intrinsic, ?MAX_WAIT, worker, [rabbit_reader]}), - {ok, SupPid}. + {ok, SupPid, ReaderPid}. reader(Pid) -> hd(supervisor2:find_child(Pid, reader)). diff --git a/src/rabbit_networking.erl b/src/rabbit_networking.erl index 492d7d01..f656e04c 100644 --- a/src/rabbit_networking.erl +++ b/src/rabbit_networking.erl @@ -204,8 +204,7 @@ on_node_down(Node) -> ok = mnesia:dirty_delete(rabbit_listener, Node). start_client(Sock, SockTransform) -> - {ok, Child} = supervisor:start_child(rabbit_tcp_client_sup, []), - Reader = rabbit_connection_sup:reader(Child), + {ok, _Child, Reader} = supervisor:start_child(rabbit_tcp_client_sup, []), ok = rabbit_net:controlling_process(Sock, Reader), Reader ! {go, Sock, SockTransform}, Reader. |