diff options
| author | Michael Klishin <michael@novemberain.com> | 2015-12-09 19:07:58 +0300 |
|---|---|---|
| committer | Michael Klishin <michael@novemberain.com> | 2015-12-09 19:07:58 +0300 |
| commit | 38f0b7ad9471c6dac2e3e036adc7cb9fdf003509 (patch) | |
| tree | bed97fff8666cc204ea6698ad664a16c3c92fa10 | |
| parent | 497ad281afc4af593e5bfacf53100e3da6cb1c76 (diff) | |
| parent | 99c68002bfd87e5ee1a08dee0c777832f39f95af (diff) | |
| download | rabbitmq-server-git-38f0b7ad9471c6dac2e3e036adc7cb9fdf003509.tar.gz | |
Merge pull request #481 from rabbitmq/rabbitmq-server-479
Fall back to code:is_module_native/1 on older OTP releases
| -rw-r--r-- | src/rabbit.erl | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/rabbit.erl b/src/rabbit.erl index 2b9237a15b..8d5dbb0260 100644 --- a/src/rabbit.erl +++ b/src/rabbit.erl @@ -285,12 +285,21 @@ hipe_compile() -> %% happens when RabbitMQ is stopped (just the %% application, not the entire node) and started %% again. - HM:module_info(native) =:= false], + already_hipe_compiled(HM)], case HipeModules of [] -> {ok, already_compiled}; _ -> do_hipe_compile(HipeModules) end. +already_hipe_compiled(Mod) -> + try + %% OTP 18.x or later + Mod:module_info(native) =:= false + %% OTP prior to 18.x + catch error:badarg -> + code:is_module_native(Mod) =:= false + end. + do_hipe_compile(HipeModules) -> Count = length(HipeModules), io:format("~nHiPE compiling: |~s|~n |", |
