aboutsummaryrefslogtreecommitdiffstats
path: root/lib/kernel/src/heart.erl
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2012-08-16 15:51:01 +0200
committerSverker Eriksson <[email protected]>2012-08-21 19:24:46 +0200
commit439fe7b93743528782fbe1ff00dc65d08cb25a56 (patch)
tree66dd430694a1eeb56efac101c904452d3b1f9b02 /lib/kernel/src/heart.erl
parent77d6845c94e75b6da1f7f995e39a6ce455e86de6 (diff)
downloadotp-439fe7b93743528782fbe1ff00dc65d08cb25a56.tar.gz
otp-439fe7b93743528782fbe1ff00dc65d08cb25a56.tar.bz2
otp-439fe7b93743528782fbe1ff00dc65d08cb25a56.zip
Fix init:restart with hipelibs
This is a workaround for init:restart. The root problem is that delete/purge_module does not clean up internal hipe bookkeeping (hipe_mfa_info's) properly. Symptom: Execution of deallocated beam code.
Diffstat (limited to 'lib/kernel/src/heart.erl')
-rw-r--r--lib/kernel/src/heart.erl4
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/kernel/src/heart.erl b/lib/kernel/src/heart.erl
index 255ae4e51b..218be964a0 100644
--- a/lib/kernel/src/heart.erl
+++ b/lib/kernel/src/heart.erl
@@ -18,6 +18,10 @@
%%
-module(heart).
+-compile(no_native).
+% 'no_native' as part of a crude fix to make init:restart/0 work by clearing
+% all hipe inter-module information (hipe_mfa_info's in hipe_bif0.c).
+
%%%--------------------------------------------------------------------
%%% This is a rewrite of pre_heart from BS.3.
%%%