aboutsummaryrefslogtreecommitdiffstats
path: root/erts/preloaded/ebin
diff options
context:
space:
mode:
authorSverker Eriksson <[email protected]>2015-12-15 20:32:39 +0100
committerSverker Eriksson <[email protected]>2016-01-13 19:59:53 +0100
commitfa44f865c3fc6253cf4691cf94839c303a3ee40f (patch)
tree47ec77902253825bceab86035a6c960b801188e2 /erts/preloaded/ebin
parentc612edf4ada1f00b2bdb8404103e0d8307dc8f4c (diff)
downloadotp-fa44f865c3fc6253cf4691cf94839c303a3ee40f.tar.gz
otp-fa44f865c3fc6253cf4691cf94839c303a3ee40f.tar.bz2
otp-fa44f865c3fc6253cf4691cf94839c303a3ee40f.zip
erts: Make erlang:purge_module/1 safe
Problem: erlang:purge_module/1 is not safe in the sense that very bad things may happen if the code to be purged is still referred to by live processes. Introduce erts_internal:purge_module which is the same as the old erlang:purge_module BIF (except it returns false if no such old module). Implement erlang:purge_module in Erlang and let it invoke erts_code_purger for safe purging where all clogging processes first are killed.
Diffstat (limited to 'erts/preloaded/ebin')
-rw-r--r--erts/preloaded/ebin/erlang.beambin102216 -> 102556 bytes
-rw-r--r--erts/preloaded/ebin/erts_code_purger.beambin9020 -> 8992 bytes
-rw-r--r--erts/preloaded/ebin/erts_internal.beambin6260 -> 6432 bytes
-rw-r--r--erts/preloaded/ebin/init.beambin44700 -> 44728 bytes
4 files changed, 0 insertions, 0 deletions
diff --git a/erts/preloaded/ebin/erlang.beam b/erts/preloaded/ebin/erlang.beam
index 68578c3a49..4353e115ca 100644
--- a/erts/preloaded/ebin/erlang.beam
+++ b/erts/preloaded/ebin/erlang.beam
Binary files differ
diff --git a/erts/preloaded/ebin/erts_code_purger.beam b/erts/preloaded/ebin/erts_code_purger.beam
index adfe298a44..553b34b105 100644
--- a/erts/preloaded/ebin/erts_code_purger.beam
+++ b/erts/preloaded/ebin/erts_code_purger.beam
Binary files differ
diff --git a/erts/preloaded/ebin/erts_internal.beam b/erts/preloaded/ebin/erts_internal.beam
index 4e1cb7f8a0..150e76505d 100644
--- a/erts/preloaded/ebin/erts_internal.beam
+++ b/erts/preloaded/ebin/erts_internal.beam
Binary files differ
diff --git a/erts/preloaded/ebin/init.beam b/erts/preloaded/ebin/init.beam
index a44b022931..b6d1df7bbc 100644
--- a/erts/preloaded/ebin/init.beam
+++ b/erts/preloaded/ebin/init.beam
Binary files differ