summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexandru Scvortov <alexandru@rabbitmq.com>2010-06-11 10:31:00 +0100
committerAlexandru Scvortov <alexandru@rabbitmq.com>2010-06-11 10:31:00 +0100
commit61b2c9a4fdc2bf8a3a658a2aab81bb079ac43b3d (patch)
treead7bfaf93e46a0cbf9c62b11d78f4a282b9fd93b
parent94d1329300e919634ab858f15bf77aa0a72c0cf4 (diff)
downloadrabbitmq-server-bug22597.tar.gz
moved common spec to rabbit.hrl; rewrote status codebug22597
-rw-r--r--include/rabbit.hrl1
-rw-r--r--src/rabbit.erl1
-rw-r--r--src/rabbit_mnesia.erl29
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)}].