diff options
author | Alexandru Scvortov <alexandru@rabbitmq.com> | 2010-06-11 10:31:00 +0100 |
---|---|---|
committer | Alexandru Scvortov <alexandru@rabbitmq.com> | 2010-06-11 10:31:00 +0100 |
commit | 61b2c9a4fdc2bf8a3a658a2aab81bb079ac43b3d (patch) | |
tree | ad7bfaf93e46a0cbf9c62b11d78f4a282b9fd93b | |
parent | 94d1329300e919634ab858f15bf77aa0a72c0cf4 (diff) | |
download | rabbitmq-server-61b2c9a4fdc2bf8a3a658a2aab81bb079ac43b3d.tar.gz |
moved common spec to rabbit.hrl; rewrote status codebug22597
-rw-r--r-- | include/rabbit.hrl | 1 | ||||
-rw-r--r-- | src/rabbit.erl | 1 | ||||
-rw-r--r-- | src/rabbit_mnesia.erl | 29 |
3 files changed, 14 insertions, 17 deletions
diff --git a/include/rabbit.hrl b/include/rabbit.hrl index 0d75310b..06297c69 100644 --- a/include/rabbit.hrl +++ b/include/rabbit.hrl @@ -79,6 +79,7 @@ -type(maybe(T) :: T | 'none'). -type(erlang_node() :: atom()). +-type(node_type() :: disc_only | disc | ram | unknown). -type(ssl_socket() :: #ssl_socket{}). -type(socket() :: port() | ssl_socket()). -type(thunk(T) :: fun(() -> T)). diff --git a/src/rabbit.erl b/src/rabbit.erl index 65c02cd2..6cf6d7d5 100644 --- a/src/rabbit.erl +++ b/src/rabbit.erl @@ -185,7 +185,6 @@ -type(log_location() :: 'tty' | 'undefined' | string()). -type(file_suffix() :: binary()). --type(node_type() :: disc_only | disc | ram | unknown). -spec(prepare/0 :: () -> 'ok'). -spec(start/0 :: () -> 'ok'). diff --git a/src/rabbit_mnesia.erl b/src/rabbit_mnesia.erl index 1d4515ce..d4b29943 100644 --- a/src/rabbit_mnesia.erl +++ b/src/rabbit_mnesia.erl @@ -47,8 +47,6 @@ -ifdef(use_specs). --type(node_type() :: disc_only | disc | ram | unknown). - -spec(status/0 :: () -> [{'nodes', [{node_type(), [erlang_node()]}]} | {'running_nodes', [erlang_node()]}]). -spec(dir/0 :: () -> file_path()). @@ -67,20 +65,19 @@ %%---------------------------------------------------------------------------- status() -> - [{nodes, try [{Key, Nodes} || - {Key, CopyType} <- [{disc_only, disc_only_copies}, - {disc, disc_copies}, - {ram, ram_copies}], - begin - Nodes = mnesia:table_info(schema, CopyType), - Nodes =/= [] - end] - catch - exit:{aborted, _Reason} -> - case mnesia:system_info(db_nodes) of - [] -> []; - Nodes -> [{unknown, Nodes}] - end + [{nodes, case mnesia:system_info(is_running) of + yes -> [{Key, Nodes} || + {Key, CopyType} <- [{disc_only, disc_only_copies}, + {disc, disc_copies}, + {ram, ram_copies}], + begin + Nodes = mnesia:table_info(schema, CopyType), + Nodes =/= [] + end]; + no -> case mnesia:system_info(db_nodes) of + [] -> []; + Nodes -> [{unknown, Nodes}] + end end}, {running_nodes, mnesia:system_info(running_db_nodes)}]. |