diff options
author | Rickard Green <[email protected]> | 2016-09-29 16:43:44 +0200 |
---|---|---|
committer | Rickard Green <[email protected]> | 2016-09-29 16:43:44 +0200 |
commit | 23ecba248ade6e4f1a6ed58c6636598643916019 (patch) | |
tree | 988d94f2c76bb01fccf238804a6af1aa3452442b /erts/emulator | |
parent | 310b00b7fc18b5883f5f2cb1b992deb1dd6c9a65 (diff) | |
download | otp-23ecba248ade6e4f1a6ed58c6636598643916019.tar.gz otp-23ecba248ade6e4f1a6ed58c6636598643916019.tar.bz2 otp-23ecba248ade6e4f1a6ed58c6636598643916019.zip |
Fix minor soft purge bug
A process calling a fun from a module currently being soft-purged
could race with failure of the soft purge. When this happened the
call triggered loading of the module which erroneously would
load new code for the module in the case no new generation was
currently loaded.
Diffstat (limited to 'erts/emulator')
-rw-r--r-- | erts/emulator/beam/erl_fun.c | 1 |
1 files changed, 0 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_fun.c b/erts/emulator/beam/erl_fun.c index c639ba623f..5258d83a18 100644 --- a/erts/emulator/beam/erl_fun.c +++ b/erts/emulator/beam/erl_fun.c @@ -236,7 +236,6 @@ erts_fun_purge_abort_prepare(ErlFunEntry **funs, Uint no) ErlFunEntry *fe = funs[ix]; if (fe->address == unloaded_fun) fe->address = fe->pend_purge_address; - fe->pend_purge_address = NULL; } } |