diff options
| author | Michael Klishin <mklishin@pivotal.io> | 2019-09-24 00:51:29 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2019-09-24 00:51:29 +0300 |
| commit | a47866ae47f9f75fd711ef7d52bab0784a8597d8 (patch) | |
| tree | 1d0aa038781d0b02bd0c5a297e0136cb1c57f289 /src | |
| parent | 1250791f879f28cdf7ce265bb6ec20cee0a8ef54 (diff) | |
| parent | dd36f26d434389d22ff718d55a7ddc80acae9811 (diff) | |
| download | rabbitmq-server-git-a47866ae47f9f75fd711ef7d52bab0784a8597d8.tar.gz | |
Merge pull request #2117 from jeckersb/binary_refs_race
rabbit_diagnostics: handle race in binary_refs
Diffstat (limited to 'src')
| -rw-r--r-- | src/rabbit_diagnostics.erl | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/src/rabbit_diagnostics.erl b/src/rabbit_diagnostics.erl index c3f515d3e7..d05401b6bf 100644 --- a/src/rabbit_diagnostics.erl +++ b/src/rabbit_diagnostics.erl @@ -94,9 +94,12 @@ top_binary_refs(Count) -> io:format("~s ~p~n", [get_time(), Sorted]). binary_refs(Pid) -> - {binary, Refs} = info(Pid, binary, []), - lists:sum([Sz || {_Ptr, Sz} <- lists:usort([{Ptr, Sz} || - {Ptr, Sz, _Cnt} <- Refs])]). + case info(Pid, binary, []) of + {binary, Refs} -> + lists:sum([Sz || {_Ptr, Sz} <- lists:usort([{Ptr, Sz} || + {Ptr, Sz, _Cnt} <- Refs])]); + _ -> 0 + end. info(Pid) -> [{pid, Pid} | info(Pid, ?PROCESS_INFO, [])]. |
