diff options
| author | Emile Joubert <emile@rabbitmq.com> | 2013-02-15 11:26:39 +0000 |
|---|---|---|
| committer | Emile Joubert <emile@rabbitmq.com> | 2013-02-15 11:26:39 +0000 |
| commit | 54d8919bebeef38d0e11e2e429388432706ee097 (patch) | |
| tree | 149c1d12c4fe4f5dbca959480d702044e5401225 /src/rabbit.erl | |
| parent | d26fd217e64a1f28a4a4e5667c13c3d7c21fe7d9 (diff) | |
| parent | 4451bd6ab8050c9b401c8a49b794ff704495a19d (diff) | |
| download | rabbitmq-server-git-54d8919bebeef38d0e11e2e429388432706ee097.tar.gz | |
Merged bug25247
Diffstat (limited to 'src/rabbit.erl')
| -rw-r--r-- | src/rabbit.erl | 22 |
1 files changed, 15 insertions, 7 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl index 55736b287e..4487f07c25 100644 --- a/src/rabbit.erl +++ b/src/rabbit.erl @@ -355,6 +355,8 @@ handle_app_error(App, Reason) -> throw({could_not_start, App, Reason}). start_it(StartFun) -> + Marker = spawn_link(fun() -> receive stop -> ok end end), + register(rabbit_boot, Marker), try StartFun() catch @@ -363,11 +365,17 @@ start_it(StartFun) -> _:Reason -> boot_error(Reason, erlang:get_stacktrace()) after + unlink(Marker), + Marker ! stop, %% give the error loggers some time to catch up timer:sleep(100) end. stop() -> + case whereis(rabbit_boot) of + undefined -> ok; + _ -> await_startup() + end, rabbit_log:info("Stopping RabbitMQ~n"), ok = app_utils:stop_applications(app_shutdown_order()). @@ -719,13 +727,13 @@ erts_version_check() -> print_banner() -> {ok, Product} = application:get_key(id), {ok, Version} = application:get_key(vsn), - io:format("~n## ## ~s ~s. ~s" - "~n## ## ~s" - "~n##########" - "~n###### ## Logs: ~s" - "~n########## ~s" - "~n" - "~n Starting broker...", + io:format("~n ~s ~s. ~s" + "~n ## ## ~s" + "~n ## ##" + "~n ########## Logs: ~s" + "~n ###### ## ~s" + "~n ##########" + "~n Starting broker...", [Product, Version, ?COPYRIGHT_MESSAGE, ?INFORMATION_MESSAGE, log_location(kernel), log_location(sasl)]). |
