diff options
author | Matthew Sackman <matthew@lshift.net> | 2010-04-29 13:06:42 +0100 |
---|---|---|
committer | Matthew Sackman <matthew@lshift.net> | 2010-04-29 13:06:42 +0100 |
commit | 28ef5d8d9220f9ffd33fa6094bbe1faa7090cf68 (patch) | |
tree | 407f09cca37fc82eb61f3a866dfd79f40be03363 /src/rabbit.erl | |
parent | fefdf418954b0ff2c4f9bd5c3b018f88a6f30cac (diff) | |
download | rabbitmq-server-28ef5d8d9220f9ffd33fa6094bbe1faa7090cf68.tar.gz |
Modify version_compare so that eg 5.0 is eq 5. On application start, check that we have a sufficient version of ertsbug22637
Diffstat (limited to 'src/rabbit.erl')
-rw-r--r-- | src/rabbit.erl | 24 |
1 files changed, 18 insertions, 6 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl index bbda29c9..47684411 100644 --- a/src/rabbit.erl +++ b/src/rabbit.erl @@ -228,14 +228,18 @@ rotate_logs(BinarySuffix) -> %%-------------------------------------------------------------------- start(normal, []) -> - {ok, SupPid} = rabbit_sup:start_link(), + case erts_version_check() of + ok -> + {ok, SupPid} = rabbit_sup:start_link(), - print_banner(), - [ok = run_boot_step(Step) || Step <- boot_steps()], - io:format("~nbroker running~n"), - - {ok, SupPid}. + print_banner(), + [ok = run_boot_step(Step) || Step <- boot_steps()], + io:format("~nbroker running~n"), + {ok, SupPid}; + Error -> + Error + end. stop(_State) -> terminated_ok = error_logger:delete_report_handler(rabbit_error_logger), @@ -248,6 +252,14 @@ stop(_State) -> %%--------------------------------------------------------------------------- +erts_version_check() -> + FoundVer = erlang:system_info(version), + case rabbit_misc:version_compare(?ERTS_MINIMUM, FoundVer, lte) of + true -> ok; + false -> {error, {erlang_version_too_old, + {found, FoundVer}, {required, ?ERTS_MINIMUM}}} + end. + boot_error(Format, Args) -> io:format("BOOT ERROR: " ++ Format, Args), error_logger:error_msg(Format, Args), |