summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Watson <tim@rabbitmq.com>2012-05-15 16:40:12 +0100
committerTim Watson <tim@rabbitmq.com>2012-05-15 16:40:12 +0100
commitae97331c531701e4eccde745cc1974aa912b5594 (patch)
treec59afa4eeefeb7d0778f81d5c392536d049014e1
parent841d204c29986228b3af7382a0e2b5e8922a2ea3 (diff)
downloadrabbitmq-server-git-ae97331c531701e4eccde745cc1974aa912b5594.tar.gz
preserve original 'wait on any app' functionality
-rw-r--r--src/rabbit_control.erl15
1 files changed, 11 insertions, 4 deletions
diff --git a/src/rabbit_control.erl b/src/rabbit_control.erl
index 59df82b323..0e9e034a61 100644
--- a/src/rabbit_control.erl
+++ b/src/rabbit_control.erl
@@ -406,13 +406,20 @@ wait_for_application(Node, PidFile, Application, Inform) ->
wait_for_application(Node, Pid, Application).
wait_for_application(Node, Pid, Application) ->
+ while_process_is_alive(Node, Pid,
+ fun() -> rabbit_nodes:is_running(Node, Application) end).
+
+wait_for_startup(Node, Pid) ->
+ while_process_is_alive(Node, Pid,
+ fun() -> rpc:call(Node, rabbit, await_startup, []) end).
+
+while_process_is_alive(Node, Pid, Activity) ->
case process_up(Pid) of
- true -> case rpc:call(Node, rabbit, await_startup, []) of
+ true -> case Activity(Node) of
ok -> ok;
Other -> timer:sleep(?EXTERNAL_CHECK_INTERVAL),
- wait_for_application(Node, Pid,
- Application)
- end;
+ while_process_is_alive(Node, Pid, Activity)
+ end;
false -> {error, process_not_running}
end.