diff options
author | Sverker Eriksson <[email protected]> | 2015-12-15 20:32:39 +0100 |
---|---|---|
committer | Sverker Eriksson <[email protected]> | 2016-01-13 19:59:53 +0100 |
commit | fa44f865c3fc6253cf4691cf94839c303a3ee40f (patch) | |
tree | 47ec77902253825bceab86035a6c960b801188e2 /erts/preloaded/ebin | |
parent | c612edf4ada1f00b2bdb8404103e0d8307dc8f4c (diff) | |
download | otp-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.beam | bin | 102216 -> 102556 bytes |
-rw-r--r-- | erts/preloaded/ebin/erts_code_purger.beam | bin | 9020 -> 8992 bytes |
-rw-r--r-- | erts/preloaded/ebin/erts_internal.beam | bin | 6260 -> 6432 bytes |
-rw-r--r-- | erts/preloaded/ebin/init.beam | bin | 44700 -> 44728 bytes |
4 files changed, 0 insertions, 0 deletions
diff --git a/erts/preloaded/ebin/erlang.beam b/erts/preloaded/ebin/erlang.beam Binary files differindex 68578c3a49..4353e115ca 100644 --- a/erts/preloaded/ebin/erlang.beam +++ b/erts/preloaded/ebin/erlang.beam diff --git a/erts/preloaded/ebin/erts_code_purger.beam b/erts/preloaded/ebin/erts_code_purger.beam Binary files differindex adfe298a44..553b34b105 100644 --- a/erts/preloaded/ebin/erts_code_purger.beam +++ b/erts/preloaded/ebin/erts_code_purger.beam diff --git a/erts/preloaded/ebin/erts_internal.beam b/erts/preloaded/ebin/erts_internal.beam Binary files differindex 4e1cb7f8a0..150e76505d 100644 --- a/erts/preloaded/ebin/erts_internal.beam +++ b/erts/preloaded/ebin/erts_internal.beam diff --git a/erts/preloaded/ebin/init.beam b/erts/preloaded/ebin/init.beam Binary files differindex a44b022931..b6d1df7bbc 100644 --- a/erts/preloaded/ebin/init.beam +++ b/erts/preloaded/ebin/init.beam |