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 | 294e9f7061363bf6c0d4a2db1aee8b37bbd3269e (patch) | |
| tree | c59afa4eeefeb7d0778f81d5c392536d049014e1 /src | |
| parent | 3975186c7ff7023a08f6e40a570d9f7549aa4ec2 (diff) | |
| download | rabbitmq-server-294e9f7061363bf6c0d4a2db1aee8b37bbd3269e.tar.gz | |
preserve original 'wait on any app' functionality
Diffstat (limited to 'src')
| -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 59df82b3..0e9e034a 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. |
