summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEmile Joubert <emile@rabbitmq.com>2010-05-12 15:49:57 +0100
committerEmile Joubert <emile@rabbitmq.com>2010-05-12 15:49:57 +0100
commita3997cb36853f7c9bb605f2f17f9c54c6aeee779 (patch)
treecb0a303e626a4c7647ceba730f8f87c2813b9877
parent5ea720eb963451955b8e57c807a47952dbafa6ce (diff)
downloadrabbitmq-server-git-a3997cb36853f7c9bb605f2f17f9c54c6aeee779.tar.gz
Register memory alarm after channel open
to prevent a closed channel from producing channel_flow
-rw-r--r--src/rabbit_channel.erl2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl
index 1f16ec080e..a48db9c8b3 100644
--- a/src/rabbit_channel.erl
+++ b/src/rabbit_channel.erl
@@ -138,7 +138,6 @@ info_all(Items) ->
init([Channel, ReaderPid, WriterPid, Username, VHost]) ->
process_flag(trap_exit, true),
link(WriterPid),
- rabbit_alarm:register(self(), {?MODULE, conserve_memory, []}),
ok = pg_local:join(rabbit_channels, self()),
{ok, #ch{state = starting,
channel = Channel,
@@ -353,6 +352,7 @@ queue_blocked(QPid, State = #ch{blocking = Blocking}) ->
end.
handle_method(#'channel.open'{}, _, State = #ch{state = starting}) ->
+ rabbit_alarm:register(self(), {?MODULE, conserve_memory, []}),
{reply, #'channel.open_ok'{}, State#ch{state = running}};
handle_method(#'channel.open'{}, _, _State) ->