summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2012-12-05 12:33:12 +0000
committerMatthias Radestock <matthias@rabbitmq.com>2012-12-05 12:33:12 +0000
commitbf385228d8cd6260590e8696c98d0ce6540265fc (patch)
treee6fcc310e38dcb9171e838709a49b8378d0c1890
parente8ab5e25305448a741f76f8abdf32eede6ff8542 (diff)
parent2d9e8374bd77ef1b3541ecdf734503f36b58a82d (diff)
downloadrabbitmq-server-bf385228d8cd6260590e8696c98d0ce6540265fc.tar.gz
merge bug25341 into stable
-rw-r--r--src/rabbit_vm.erl10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/rabbit_vm.erl b/src/rabbit_vm.erl
index 53f3df18..e9679276 100644
--- a/src/rabbit_vm.erl
+++ b/src/rabbit_vm.erl
@@ -84,7 +84,15 @@ sup_memory(Sup) ->
sup_children(Sup) ->
rabbit_misc:with_exit_handler(
- rabbit_misc:const([]), fun () -> supervisor:which_children(Sup) end).
+ rabbit_misc:const([]),
+ fun () ->
+ %% Just in case we end up talking to something that is
+ %% not a supervisor by mistake.
+ case supervisor:which_children(Sup) of
+ L when is_list(L) -> L;
+ _ -> []
+ end
+ end).
pid_memory(Pid) when is_pid(Pid) -> case process_info(Pid, memory) of
{memory, M} -> M;