summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2013-01-03 13:32:01 +0000
committerSimon MacMullen <simon@rabbitmq.com>2013-01-03 13:32:01 +0000
commit4aeac66d004c6bfd7775424921d78697ad320410 (patch)
tree5bb39b8cd3d1abd4196b66c2469aa9bbbf43a110
parent902e542160fd0c345dde7dee7848af783a15b556 (diff)
downloadrabbitmq-server-bug25364.tar.gz
Explainbug25364
-rw-r--r--src/credit_flow.erl3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/credit_flow.erl b/src/credit_flow.erl
index ec9b2c36..8f1d4d00 100644
--- a/src/credit_flow.erl
+++ b/src/credit_flow.erl
@@ -56,6 +56,9 @@
%% closure creation a HOF would introduce
-define(UPDATE(Key, Default, Var, Expr),
begin
+ %% We delibarately allow Var to escape from the case here
+ %% to be used in Expr. Any temporary var we introduced
+ %% would also escape, and might conflict.
case get(Key) of
undefined -> Var = Default;
Var -> ok