diff options
| author | Matthew Sackman <matthew@rabbitmq.com> | 2010-10-13 14:10:17 +0100 |
|---|---|---|
| committer | Matthew Sackman <matthew@rabbitmq.com> | 2010-10-13 14:10:17 +0100 |
| commit | f2bc8a9f1da01ef620ad14d2d56b76c7e8be7e7d (patch) | |
| tree | 437401cd78c04b08513162902fe5b9eee4815eb0 | |
| parent | c6817c6d08142f9be24cb6a8377e46628b57c392 (diff) | |
| parent | 3d6bf5c71071085930bc4a5d1e703858c8e5156f (diff) | |
| download | rabbitmq-server-git-f2bc8a9f1da01ef620ad14d2d56b76c7e8be7e7d.tar.gz | |
Merging bug23323 into default
| -rw-r--r-- | src/rabbit_channel.erl | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl index fe36cef923..64f84f348e 100644 --- a/src/rabbit_channel.erl +++ b/src/rabbit_channel.erl @@ -877,14 +877,14 @@ handle_method(#'channel.flow'{active = false}, _, undefined -> start_limiter(State); Other -> Other end, + State1 = State#ch{limiter_pid = LimiterPid1}, ok = rabbit_limiter:block(LimiterPid1), - QPids = consumer_queues(Consumers), - Queues = [{QPid, erlang:monitor(process, QPid)} || QPid <- QPids], - ok = rabbit_amqqueue:flush_all(QPids, self()), - case Queues of - [] -> {reply, #'channel.flow_ok'{active = false}, State}; - _ -> {noreply, State#ch{limiter_pid = LimiterPid1, - blocking = dict:from_list(Queues)}} + case consumer_queues(Consumers) of + [] -> {reply, #'channel.flow_ok'{active = false}, State1}; + QPids -> Queues = [{QPid, erlang:monitor(process, QPid)} || + QPid <- QPids], + ok = rabbit_amqqueue:flush_all(QPids, self()), + {noreply, State1#ch{blocking = dict:from_list(Queues)}} end; handle_method(_MethodRecord, _Content, _State) -> |
