diff options
author | Simon MacMullen <simon@rabbitmq.com> | 2012-01-12 15:03:35 +0000 |
---|---|---|
committer | Simon MacMullen <simon@rabbitmq.com> | 2012-01-12 15:03:35 +0000 |
commit | fe770870efc47212af603ab1ca2c0bb549f162cd (patch) | |
tree | cf8f7df0a39e02d716b8f6bfaf83439919c15523 | |
parent | 91085cdaacb39984a7017965bb02b1a0db064bab (diff) | |
download | rabbitmq-server-fe770870efc47212af603ab1ca2c0bb549f162cd.tar.gz |
Matthias points out that we don't need to remember that a pid has gone away: if by some chance we end up talking to it again we'll end up monitoring it again and then noticing it is down, and we'll always have ?MAX_CREDIT available each time.
-rw-r--r-- | src/rabbit_flow.erl | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/src/rabbit_flow.erl b/src/rabbit_flow.erl index 9759e726..54d019cd 100644 --- a/src/rabbit_flow.erl +++ b/src/rabbit_flow.erl @@ -51,7 +51,7 @@ blocked() -> get(credit_blocked, []) =/= []. send(From) -> - Credit = get_credit(From) - 1, + Credit = get({credit_from, From}, ?MAX_CREDIT) - 1, case Credit of 0 -> block(From); _ -> ok @@ -60,7 +60,7 @@ send(From) -> receiver_down(From) -> unblock(From), - put({credit_from, From}, quiescing). + erase({credit_from, From}). %% -------------------------------------------------------------------------- @@ -89,9 +89,3 @@ get(Key, Default) -> undefined -> Default; Value -> Value end. - -get_credit(From) -> - case get({credit_from, From}, ?MAX_CREDIT) of - quiescing -> 1; - Credit -> Credit - end. |