summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@lshift.net>2009-09-02 17:51:21 +0100
committerMatthew Sackman <matthew@lshift.net>2009-09-02 17:51:21 +0100
commitf21402056a977af1a8b33938597d3d89e72c7313 (patch)
tree8513178dd831265dc223ef8ba239c4cf2f4b3016
parentc5bfb74c942e004fbb33137b4ebc1deebbd7396d (diff)
downloadrabbitmq-server-git-f21402056a977af1a8b33938597d3d89e72c7313.tar.gz
Guarantee that any oppressed process reporting 0 memory use will get liberated.
-rw-r--r--src/rabbit_memory_manager.erl7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/rabbit_memory_manager.erl b/src/rabbit_memory_manager.erl
index 3b637b3a70..aaacaef7a4 100644
--- a/src/rabbit_memory_manager.erl
+++ b/src/rabbit_memory_manager.erl
@@ -228,9 +228,10 @@ handle_cast({report_memory, Pid, Memory, Hibernating},
LibreActivity}
end;
{oppressed, OrigAvail} ->
- case Alarmed orelse Hibernating orelse
- (Avail > (OrigAvail - ?THRESHOLD_OFFSET) andalso
- Avail < (OrigAvail + ?THRESHOLD_OFFSET)) of
+ case Req > 0 andalso
+ ( Alarmed orelse Hibernating orelse
+ (Avail > (OrigAvail - ?THRESHOLD_OFFSET) andalso
+ Avail < (OrigAvail + ?THRESHOLD_OFFSET)) ) of
true ->
{State, oppressed};
false ->