diff options
author | Björn Gustavsson <[email protected]> | 2016-09-15 11:40:39 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2016-09-15 11:40:39 +0200 |
commit | 687eae1e86817403249f03f534a256a28c5d5251 (patch) | |
tree | 75369a6be94deb0e0c0ad2287102dbb16c34b026 /lib/kernel/src | |
parent | 060949fb1ee7d1af366372b43dde5add421a5f73 (diff) | |
parent | fde238fb52133a6c7a2a3f2a2e16f1c1bef62394 (diff) | |
download | otp-687eae1e86817403249f03f534a256a28c5d5251.tar.gz otp-687eae1e86817403249f03f534a256a28c5d5251.tar.bz2 otp-687eae1e86817403249f03f534a256a28c5d5251.zip |
Merge branch 'maint'
* maint:
erts: Add nif_SUITE:t_on_load
erts: Improve nif_SUITE:upgrade test
Don't leak old code when loading a modules with an on_load function
Conflicts:
erts/preloaded/ebin/erts_code_purger.beam
erts/preloaded/ebin/erts_internal.beam
erts/preloaded/src/erts_code_purger.erl
Diffstat (limited to 'lib/kernel/src')
-rw-r--r-- | lib/kernel/src/code_server.erl | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/lib/kernel/src/code_server.erl b/lib/kernel/src/code_server.erl index 29c8856a42..835b7eb588 100644 --- a/lib/kernel/src/code_server.erl +++ b/lib/kernel/src/code_server.erl @@ -1392,11 +1392,10 @@ finish_on_load(PidRef, OnLoadRes, #state{on_load=OnLoad0}=St0) -> finish_on_load_1(Mod, OnLoadRes, Waiting, St) -> Keep = OnLoadRes =:= ok, - erlang:finish_after_on_load(Mod, Keep), + erts_code_purger:finish_after_on_load(Mod, Keep), Res = case Keep of false -> _ = finish_on_load_report(Mod, OnLoadRes), - _ = erts_code_purger:purge(Mod), {error,on_load_failure}; true -> {module,Mod} |