summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@rabbitmq.com>2010-08-13 16:16:49 +0100
committerMatthew Sackman <matthew@rabbitmq.com>2010-08-13 16:16:49 +0100
commitc79d7452667e9bf25d7dbd27ca50eee991877e01 (patch)
tree71aec60b3515c3044cfc7df80cc0a17ffd54d6b6 /src
parent10c27d920985c535c5add0cbc0c672d3653b4ed3 (diff)
downloadrabbitmq-server-git-c79d7452667e9bf25d7dbd27ca50eee991877e01.tar.gz
Move the linking into the start_channel function
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_channel_sup_sup.erl6
-rw-r--r--src/rabbit_reader.erl1
2 files changed, 4 insertions, 3 deletions
diff --git a/src/rabbit_channel_sup_sup.erl b/src/rabbit_channel_sup_sup.erl
index 98ad5fc0af..d193880555 100644
--- a/src/rabbit_channel_sup_sup.erl
+++ b/src/rabbit_channel_sup_sup.erl
@@ -43,7 +43,7 @@
-spec(start_link/0 :: () -> rabbit_types:ok_pid_or_error()).
-spec(start_channel/2 :: (pid(), rabbit_channel_sup:start_link_args()) ->
- {'ok', pid(), pid()} | {'error', any()}).
+ {'ok', pid(), pid()}).
-endif.
@@ -53,7 +53,9 @@ start_link() ->
supervisor2:start_link(?MODULE, []).
start_channel(Pid, Args) ->
- supervisor2:start_child(Pid, [Args]).
+ {ok, ChSupPid, _} = Result = supervisor2:start_child(Pid, [Args]),
+ link(ChSupPid),
+ Result.
%%----------------------------------------------------------------------------
diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl
index 685dd83ec7..6efbeab610 100644
--- a/src/rabbit_reader.erl
+++ b/src/rabbit_reader.erl
@@ -897,7 +897,6 @@ send_to_new_channel(Channel, AnalyzedFrame, State) ->
rabbit_channel_sup_sup:start_channel(
ChanSupSup, {Protocol, Sock, Channel, FrameMax,
self(), Username, VHost, Collector}),
- link(ChSupPid),
put({channel, Channel}, {ch_fr_pid, ChFrPid}),
put({ch_sup_pid, ChSupPid}, {{channel, Channel}, {ch_fr_pid, ChFrPid}}),
put({ch_fr_pid, ChFrPid}, {channel, Channel}),