summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Klishin <michael@novemberain.com>2015-12-09 19:07:58 +0300
committerMichael Klishin <michael@novemberain.com>2015-12-09 19:07:58 +0300
commit38f0b7ad9471c6dac2e3e036adc7cb9fdf003509 (patch)
treebed97fff8666cc204ea6698ad664a16c3c92fa10 /src
parent497ad281afc4af593e5bfacf53100e3da6cb1c76 (diff)
parent99c68002bfd87e5ee1a08dee0c777832f39f95af (diff)
downloadrabbitmq-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
Diffstat (limited to 'src')
-rw-r--r--src/rabbit.erl11
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 |",