summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Radestock <matthias@rabbitmq.com>2012-09-26 12:05:57 +0100
committerMatthias Radestock <matthias@rabbitmq.com>2012-09-26 12:05:57 +0100
commit750dcde2aab7e79a01b1da8959b0038f78354374 (patch)
tree67f1f36ee3fb945dfa7818d68863bd302817c5c8
parent8423dd2fcde33deabe887988f3d70c68074ed279 (diff)
downloadrabbitmq-server-bug25160.tar.gz
simplify forget_cluster_node/2bug25160
-rw-r--r--src/rabbit_mnesia.erl24
1 files changed, 10 insertions, 14 deletions
diff --git a/src/rabbit_mnesia.erl b/src/rabbit_mnesia.erl
index b3546483..ae36febb 100644
--- a/src/rabbit_mnesia.erl
+++ b/src/rabbit_mnesia.erl
@@ -277,20 +277,16 @@ forget_cluster_node(Node, RemoveWhenOffline) ->
true -> ok;
false -> e(not_a_cluster_node)
end,
- case mnesia:system_info(is_running) of
- no when RemoveWhenOffline ->
- remove_node_offline_node(Node);
- yes when RemoveWhenOffline ->
- e(online_node_offline_flag);
- no ->
- e(offline_node_no_offline_flag);
- yes ->
- rabbit_misc:local_info_msg("Removing node ~p from cluster~n",
- [Node]),
- case remove_node_if_mnesia_running(Node) of
- ok -> ok;
- {error, _} = Err -> throw(Err)
- end
+ case {RemoveWhenOffline, mnesia:system_info(is_running)} of
+ {true, no} -> remove_node_offline_node(Node);
+ {true, yes} -> e(online_node_offline_flag);
+ {false, no} -> e(offline_node_no_offline_flag);
+ {false, yes} -> rabbit_misc:local_info_msg(
+ "Removing node ~p from cluster~n", [Node]),
+ case remove_node_if_mnesia_running(Node) of
+ ok -> ok;
+ {error, _} = Err -> throw(Err)
+ end
end.
remove_node_offline_node(Node) ->