diff options
| -rw-r--r-- | src/rabbit_channel.erl | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/rabbit_channel.erl b/src/rabbit_channel.erl index 925e1f26c2..7e9e1b29a2 100644 --- a/src/rabbit_channel.erl +++ b/src/rabbit_channel.erl @@ -1088,8 +1088,12 @@ handle_method(#'channel.flow'{active = true}, _, State#ch{limiter = Limiter2}}; handle_method(#'channel.flow'{active = false}, _, - State = #ch{consumer_mapping = Consumers}) -> - Limiter1 = enable_limiter(State), + State = #ch{consumer_mapping = Consumers, + limiter = Limiter}) -> + Limiter1 = case rabbit_limiter:is_enabled(Limiter) of + true -> Limiter; + false -> enable_limiter(State) + end, State1 = State#ch{limiter = Limiter1}, ok = rabbit_limiter:block(Limiter1), case consumer_queues(Consumers) of |
