diff options
| author | Matthias Radestock <matthias@rabbitmq.com> | 2013-04-19 06:31:51 +0100 |
|---|---|---|
| committer | Matthias Radestock <matthias@rabbitmq.com> | 2013-04-19 06:31:51 +0100 |
| commit | 85b268ec1dbae4a84f1efa0f185463d7ea8d1066 (patch) | |
| tree | 988154d0cb9caa194603757a00143b386afbca99 | |
| parent | 497e8f85bb5d61eeb68dece2b0496b8cc4b6f72a (diff) | |
| download | rabbitmq-server-git-85b268ec1dbae4a84f1efa0f185463d7ea8d1066.tar.gz | |
lists:keyfind/3 is not in R12B-3.
| -rw-r--r-- | src/rabbit_vm.erl | 13 |
1 files changed, 7 insertions, 6 deletions
diff --git a/src/rabbit_vm.erl b/src/rabbit_vm.erl index a772d9c4fc..afd8921bb1 100644 --- a/src/rabbit_vm.erl +++ b/src/rabbit_vm.erl @@ -127,8 +127,8 @@ aggregate_memory(Names, Sums) -> lists:sum([extract_memory(Name, Sums) || Name <- Names]). extract_memory(Name, Sums) -> - {_, Accs} = lists:keyfind(Name, 1, Sums), - {memory, V} = lists:keyfind(memory, 1, Accs), + {value, {_, Accs}} = lists:keysearch(Name, 1, Sums), + {value, {memory, V}} = lists:keysearch(memory, 1, Accs), V. %% NB: this code is non-rabbit specific @@ -165,11 +165,12 @@ sum_processes(Names, Fun, Acc0) -> orddict:to_list(OtherAcc)}. find_ancestor(Extra, D, Names) -> + Ancestors = case lists:keysearch('$ancestors', 1, D) of + {value, {_, Ancs}} -> Ancs; + false -> [] + end, case lists:splitwith(fun (A) -> not lists:member(A, Names) end, - Extra ++ case lists:keyfind('$ancestors', 1, D) of - false -> []; - {_, Ancestors} -> Ancestors - end) of + Extra ++ Ancestors) of {_, []} -> undefined; {_, [Name | _]} -> Name end. |
