diff options
author | Simon MacMullen <simon@rabbitmq.com> | 2012-12-05 11:23:27 +0000 |
---|---|---|
committer | Simon MacMullen <simon@rabbitmq.com> | 2012-12-05 11:23:27 +0000 |
commit | 2d9e8374bd77ef1b3541ecdf734503f36b58a82d (patch) | |
tree | 5279a4b1ef2457e91aabc7efec26fad9197ccce3 | |
parent | 5c30e7cf1fd1502ed5b30da8a6617705f27cd34f (diff) | |
download | rabbitmq-server-2d9e8374bd77ef1b3541ecdf734503f36b58a82d.tar.gz |
Don't blow up if we end up talking to not-a-supervisor.bug25341
-rw-r--r-- | src/rabbit_vm.erl | 10 |
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; |