summaryrefslogtreecommitdiff
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
commit87ab27b0db7f2250b4d99b48c48aa0bd5cadf34d (patch)
tree71aec60b3515c3044cfc7df80cc0a17ffd54d6b6
parent20d06d5ce38c259261bcaf0a35acf1b68300b0a7 (diff)
downloadrabbitmq-server-87ab27b0db7f2250b4d99b48c48aa0bd5cadf34d.tar.gz
Move the linking into the start_channel function
-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 98ad5fc0..d1938805 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 685dd83e..6efbeab6 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}),