summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@rabbitmq.com>2010-08-13 16:04:11 +0100
committerMatthew Sackman <matthew@rabbitmq.com>2010-08-13 16:04:11 +0100
commit20d06d5ce38c259261bcaf0a35acf1b68300b0a7 (patch)
treeaea3fa806e990f9452d36b0c0f3267f54d7311af
parent45ab05142b64d1f047c3a855565765c63a3d2f4f (diff)
downloadrabbitmq-server-20d06d5ce38c259261bcaf0a35acf1b68300b0a7.tar.gz
Reduce calls to connection_sup:reader
-rw-r--r--src/rabbit_connection_sup.erl6
-rw-r--r--src/rabbit_networking.erl3
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.