summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSimon MacMullen <simon@rabbitmq.com>2012-09-24 12:57:06 +0100
committerSimon MacMullen <simon@rabbitmq.com>2012-09-24 12:57:06 +0100
commit3697ae8872b9b51efa1506283f3edafcd0966f09 (patch)
treeab82340309f60d441745cb8a418899ceb37869c0
parent6b5d91f884e339098d2794f469b01af1a77fbab5 (diff)
downloadrabbitmq-server-3697ae8872b9b51efa1506283f3edafcd0966f09.tar.gz
Ignore dead processes.
-rw-r--r--src/rabbit_vm.erl5
1 files changed, 4 insertions, 1 deletions
diff --git a/src/rabbit_vm.erl b/src/rabbit_vm.erl
index ce6c9323..b49c0a7c 100644
--- a/src/rabbit_vm.erl
+++ b/src/rabbit_vm.erl
@@ -71,7 +71,10 @@ sup_children(Sup) ->
rabbit_misc:with_exit_handler(
rabbit_misc:const([]), fun () -> supervisor:which_children(Sup) end).
-pid_memory(Pid) when is_pid(Pid) -> element(2, process_info(Pid, memory));
+pid_memory(Pid) when is_pid(Pid) -> case process_info(Pid, memory) of
+ {memory, M} -> M;
+ _ -> 0
+ end;
pid_memory(Name) when is_atom(Name) -> case whereis(Name) of
P when is_pid(P) -> pid_memory(P);
_ -> 0