summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2013-06-22 01:12:20 +0100
committerMatthias Radestock <matthias@rabbitmq.com>2013-06-22 01:12:20 +0100
commit85973878aed3f8430359085066b1b1e3a5547f8f (patch)
treef2774d63cb20fd14469a2cf4263d866b44ddd0c5 /src
parentd0a9d6ed3c337ce62ae8a918fc684926467f935e (diff)
downloadrabbitmq-server-git-85973878aed3f8430359085066b1b1e3a5547f8f.tar.gz
prevent invalid state transition
from 'dormant' to 'active' w/o registration This was very hard to trigger, but nevertheless possible.
Diffstat (limited to 'src')
-rw-r--r--src/rabbit_limiter.erl4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/rabbit_limiter.erl b/src/rabbit_limiter.erl
index 1e32f95a3d..6a09573c62 100644
--- a/src/rabbit_limiter.erl
+++ b/src/rabbit_limiter.erl
@@ -255,7 +255,9 @@ safe_call(Pid, Msg, ExitValue) ->
fun () -> ExitValue end,
fun () -> gen_server2:call(Pid, Msg, infinity) end).
-resume(L) -> L#qstate{state = active}.
+resume(L = #qstate{state = suspended}) ->
+ L#qstate{state = active};
+resume(L) -> L.
deactivate(L = #qstate{state = dormant}) -> L;
deactivate(L) ->