diff options
| author | Daniil Fedotov <hairyhum@gmail.com> | 2018-03-16 10:36:22 +0000 |
|---|---|---|
| committer | Michael Klishin <michael@clojurewerkz.org> | 2018-03-16 17:14:13 +0300 |
| commit | 4f3131053eb80d11787c4772e421507a653354cc (patch) | |
| tree | 566244102174424bb08361ebc558bf78ad962bb8 | |
| parent | 5d88f5a4064d310333f2a1df6253a76dd2aaee04 (diff) | |
| download | rabbitmq-server-git-4f3131053eb80d11787c4772e421507a653354cc.tar.gz | |
Make is_booted function compatible with pre-3.7.4 remote nodes
(cherry picked from commit fc8abae47427eb9ae4347177cc23dd9d4e10ba35)
| -rw-r--r-- | src/rabbit.erl | 27 |
1 files changed, 9 insertions, 18 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl index a91f2f32b5..cde1d0ad07 100644 --- a/src/rabbit.erl +++ b/src/rabbit.erl @@ -27,7 +27,7 @@ -export([start/2, stop/1, prep_stop/1]). -export([start_apps/1, start_apps/2, stop_apps/1]). -export([log_locations/0, config_files/0, decrypt_config/2]). %% for testing and mgmt-agent --export([is_booted/0, is_booted/1, is_booting/0]). +-export([is_booted/1]). -ifdef(TEST). @@ -653,16 +653,10 @@ await_startup(Node) -> end. is_booting(Node) -> - case rpc:call(Node, rabbit, is_booting, []) of - true -> true; - false -> false; - {badrpc, _} = Err -> Err - end. - -is_booting() -> - case erlang:whereis(rabbit_boot) of - undefined -> false; - P when is_pid(P) -> true + case rpc:call(Node, erlang, whereis, [rabbit_boot]) of + {badrpc, _} = Err -> Err; + undefined -> false; + P when is_pid(P) -> true end. wait_for_boot_to_start(Node) -> @@ -753,15 +747,12 @@ is_running() -> is_running(node()). is_running(Node) -> rabbit_nodes:is_process_running(Node, rabbit). is_booted(Node) -> - case rpc:call(Node, rabbit, is_booted, []) of - true -> true; - false -> false; - {badrpc, _} -> false + case is_booting(Node) of + false -> + is_running(Node); + _ -> false end. -is_booted() -> - is_running() andalso not is_booting(). - environment() -> %% The timeout value is twice that of gen_server:call/2. [{A, environment(A)} || |
