diff options
| -rwxr-xr-x | scripts/rabbitmq-server | 25 | ||||
| -rwxr-xr-x | scripts/rabbitmq-server.bat | 14 | ||||
| -rw-r--r-- | src/rabbit_control.erl | 6 |
3 files changed, 23 insertions, 22 deletions
diff --git a/scripts/rabbitmq-server b/scripts/rabbitmq-server index 57f37ff9be..ba18766c95 100755 --- a/scripts/rabbitmq-server +++ b/scripts/rabbitmq-server @@ -70,18 +70,15 @@ case "$(uname -s)" in esac RABBITMQ_EBIN_ROOT="${RABBITMQ_HOME}/ebin" -if erl \ - -pa "$RABBITMQ_EBIN_ROOT" \ - -noinput \ - -hidden \ - -s rabbit_prelaunch \ - -sname rabbitmqprelaunch$$ \ - -extra "${RABBITMQ_NODENAME}" -then - RABBITMQ_BOOT_FILE=start_sasl - RABBITMQ_EBIN_PATH="-pa ${RABBITMQ_EBIN_ROOT}" -else - exit 1 +if ! `erl \ + -pa "$RABBITMQ_EBIN_ROOT" \ + -noinput \ + -hidden \ + -s rabbit_prelaunch \ + -sname rabbitmqprelaunch$$ \ + -extra "${RABBITMQ_NODENAME}"`; + then + exit 1; fi RABBITMQ_CONFIG_ARG= @@ -96,10 +93,10 @@ RABBITMQ_LISTEN_ARG= set -f exec erl \ - ${RABBITMQ_EBIN_PATH} \ + -pa ${RABBITMQ_EBIN_ROOT} \ ${RABBITMQ_START_RABBIT} \ -sname ${RABBITMQ_NODENAME} \ - -boot ${RABBITMQ_BOOT_FILE} \ + -boot start_sasl \ -s rabbit boot \ ${RABBITMQ_CONFIG_ARG} \ +W w \ diff --git a/scripts/rabbitmq-server.bat b/scripts/rabbitmq-server.bat index e594522df3..58f085af1d 100755 --- a/scripts/rabbitmq-server.bat +++ b/scripts/rabbitmq-server.bat @@ -89,12 +89,14 @@ if "!RABBITMQ_ENABLED_PLUGINS_FILE!"=="" ( set RABBITMQ_PLUGINS_DIR=!TDP0!..\plugins
set RABBITMQ_EBIN_ROOT=!TDP0!..\ebin
-"!ERLANG_HOME!\bin\erl.exe" ^
--pa "!RABBITMQ_EBIN_ROOT!" ^
--noinput -hidden ^
--s rabbit_prelaunch ^
--sname rabbitmqprelaunch!RANDOM! ^
--extra "!RABBITMQ_NODENAME!"
+if not "!ERLANG_HOME!\bin\erl.exe" ^
+ -pa "!RABBITMQ_EBIN_ROOT!" ^
+ -noinput -hidden ^
+ -s rabbit_prelaunch ^
+ -sname rabbitmqprelaunch!RANDOM! ^
+ -extra "!RABBITMQ_NODENAME!" (
+ exit /B
+)
set RABBITMQ_EBIN_PATH="-pa !RABBITMQ_EBIN_ROOT!"
diff --git a/src/rabbit_control.erl b/src/rabbit_control.erl index d9b2ae97b4..59df82b323 100644 --- a/src/rabbit_control.erl +++ b/src/rabbit_control.erl @@ -408,8 +408,10 @@ wait_for_application(Node, PidFile, Application, Inform) -> wait_for_application(Node, Pid, Application) -> case process_up(Pid) of true -> case rpc:call(Node, rabbit, await_startup, []) of - {badrpc, _} -> {error, node_not_responding}; - ok -> ok + ok -> ok; + Other -> timer:sleep(?EXTERNAL_CHECK_INTERVAL), + wait_for_application(Node, Pid, + Application) end; false -> {error, process_not_running} end. |
