summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_reader.erl12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/rabbit_reader.erl b/src/rabbit_reader.erl
index 9a85110175..ec497410c1 100644
--- a/src/rabbit_reader.erl
+++ b/src/rabbit_reader.erl
@@ -324,11 +324,13 @@ mainloop(Deb, State = #v1{sock = Sock, buf = Buf, buf_len = BufLen}) ->
end.
handle_other({conserve_resources, Source, Conserve},
- State = #v1{throttle = Throttle}) ->
- Throttle1 = Throttle#throttle{conserve_resources = case Conserve of
- true -> [Source];
- false -> []
- end},
+ State = #v1{throttle = Throttle =
+ #throttle{conserve_resources = CR}}) ->
+ CR1 = case Conserve of
+ true -> [Source | CR];
+ false -> CR -- [Source]
+ end,
+ Throttle1 = Throttle#throttle{conserve_resources = CR1},
control_throttle(State#v1{throttle = Throttle1});
handle_other({channel_closing, ChPid}, State) ->
ok = rabbit_channel:ready_for_close(ChPid),