summaryrefslogtreecommitdiff
path: root/src/rabbit_control.erl
diff options
context:
space:
mode:
Diffstat (limited to 'src/rabbit_control.erl')
-rw-r--r--src/rabbit_control.erl16
1 files changed, 10 insertions, 6 deletions
diff --git a/src/rabbit_control.erl b/src/rabbit_control.erl
index 51f88c8f..8b24d2e3 100644
--- a/src/rabbit_control.erl
+++ b/src/rabbit_control.erl
@@ -194,7 +194,11 @@ action(force_cluster, Node, ClusterNodeSs, _Opts, Inform) ->
action(wait, Node, [PidFile], _Opts, Inform) ->
Inform("Waiting for ~p", [Node]),
- wait_for_application(Node, PidFile, Inform);
+ wait_for_application(Node, PidFile, rabbit, Inform);
+
+action(wait, Node, [PidFile, App], _Opts, Inform) ->
+ Inform("Waiting for ~p on ~p", [App, Node]),
+ wait_for_application(Node, PidFile, list_to_atom(App), Inform);
action(status, Node, [], _Opts, Inform) ->
Inform("Status of node ~p", [Node]),
@@ -379,17 +383,17 @@ action(eval, Node, [Expr], _Opts, _Inform) ->
%%----------------------------------------------------------------------------
-wait_for_application(Node, PidFile, Inform) ->
+wait_for_application(Node, PidFile, Application, Inform) ->
Pid = read_pid_file(PidFile, true),
Inform("pid is ~s", [Pid]),
- wait_for_application(Node, Pid).
+ wait_for_application(Node, Pid, Application).
-wait_for_application(Node, Pid) ->
+wait_for_application(Node, Pid, Application) ->
case process_up(Pid) of
- true -> case rabbit:is_running(Node) of
+ true -> case rabbit_nodes:is_running(Node, Application) of
true -> ok;
false -> timer:sleep(?EXTERNAL_CHECK_INTERVAL),
- wait_for_application(Node, Pid)
+ wait_for_application(Node, Pid, Application)
end;
false -> {error, process_not_running}
end.