diff options
| author | Emile Joubert <emile@rabbitmq.com> | 2010-12-03 11:13:14 +0000 |
|---|---|---|
| committer | Emile Joubert <emile@rabbitmq.com> | 2010-12-03 11:13:14 +0000 |
| commit | 1f08aaca050344ed49f344495c0cfd007d10cd8c (patch) | |
| tree | f3b4c53c23b592ea9c6832a9de3bc62bc846e8aa | |
| parent | 46b2e9ac37ef597c92e56664f1fdb330b121af59 (diff) | |
| download | rabbitmq-server-git-1f08aaca050344ed49f344495c0cfd007d10cd8c.tar.gz | |
Consistent prelaunch checks on windows
| -rw-r--r-- | scripts/rabbitmq-server.bat | 3 | ||||
| -rw-r--r-- | src/rabbit_prelaunch.erl | 21 |
2 files changed, 19 insertions, 5 deletions
diff --git a/scripts/rabbitmq-server.bat b/scripts/rabbitmq-server.bat index f972a4aa16..872c87e3ab 100644 --- a/scripts/rabbitmq-server.bat +++ b/scripts/rabbitmq-server.bat @@ -123,8 +123,7 @@ set RABBITMQ_EBIN_ROOT=!TDP0!..\ebin "!RABBITMQ_NODENAME!"
set RABBITMQ_BOOT_FILE=!RABBITMQ_PLUGINS_EXPAND_DIR!\rabbit
-if not exist "!RABBITMQ_BOOT_FILE!.boot" (
- echo Custom Boot File "!RABBITMQ_BOOT_FILE!.boot" is missing.
+if ERRORLEVEL 1 (
exit /B 1
)
diff --git a/src/rabbit_prelaunch.erl b/src/rabbit_prelaunch.erl index b37573dd4c..35cc79d4c8 100644 --- a/src/rabbit_prelaunch.erl +++ b/src/rabbit_prelaunch.erl @@ -34,6 +34,7 @@ -export([start/0, stop/0]). -define(BaseApps, [rabbit]). +-define(ERROR_CODE, 1). %%---------------------------------------------------------------------------- %% Specs @@ -135,14 +136,16 @@ start() -> case net_kernel:start([list_to_atom(NodeName), shortnames]) of {ok, _Pid} -> ok = net_kernel:stop(); {error, Result} -> + % consistent layout by flushing error_log mailbox + gen_event:which_handlers(error_logger), io:format("starting node with name ~p failed. " "(is RabbitMQ already running?)~n~p~n", [NodeName, Result]), [io:format(Fmt ++ "~n", Args) || {Fmt, Args} <- rabbit_control:diagnostics(NodeName)], - halt(1) + terminate(?ERROR_CODE) end, - halt(), + terminate(0), ok. stop() -> @@ -265,4 +268,16 @@ process_entry(Entry) -> terminate(Fmt, Args) -> io:format("ERROR: " ++ Fmt ++ "~n", Args), - halt(1). + terminate(?ERROR_CODE). + +terminate(Status) -> + case os:type() of + {unix, _} -> + halt(Status); + {win32, _} -> + init:stop(Status), + receive + after infinity -> ok + end + end. + |
