summaryrefslogtreecommitdiff
path: root/src/rabbit.erl
diff options
context:
space:
mode:
authorMatthew Sackman <matthew@lshift.net>2010-04-29 13:06:42 +0100
committerMatthew Sackman <matthew@lshift.net>2010-04-29 13:06:42 +0100
commit9b63f69499147f03f40fd5d2481dafe0a4e61ab4 (patch)
tree407f09cca37fc82eb61f3a866dfd79f40be03363 /src/rabbit.erl
parent7922ef966f891b3211fab666c353a909e9012cd1 (diff)
downloadrabbitmq-server-git-9b63f69499147f03f40fd5d2481dafe0a4e61ab4.tar.gz
Modify version_compare so that eg 5.0 is eq 5. On application start, check that we have a sufficient version of erts
Diffstat (limited to 'src/rabbit.erl')
-rw-r--r--src/rabbit.erl24
1 files changed, 18 insertions, 6 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl
index bbda29c92e..47684411b2 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),