diff options
| author | Tim Watson <tim@rabbitmq.com> | 2012-05-15 16:40:12 +0100 |
|---|---|---|
| committer | Tim Watson <tim@rabbitmq.com> | 2012-05-15 16:40:12 +0100 |
| commit | ae97331c531701e4eccde745cc1974aa912b5594 (patch) | |
| tree | c59afa4eeefeb7d0778f81d5c392536d049014e1 | |
| parent | 841d204c29986228b3af7382a0e2b5e8922a2ea3 (diff) | |
| download | rabbitmq-server-git-ae97331c531701e4eccde745cc1974aa912b5594.tar.gz | |
preserve original 'wait on any app' functionality
| -rw-r--r-- | src/rabbit_control.erl | 15 |
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. |
