aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2016-09-29 16:43:44 +0200
committerRickard Green <[email protected]>2016-09-29 16:43:44 +0200
commit23ecba248ade6e4f1a6ed58c6636598643916019 (patch)
tree988d94f2c76bb01fccf238804a6af1aa3452442b
parent310b00b7fc18b5883f5f2cb1b992deb1dd6c9a65 (diff)
downloadotp-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.
-rw-r--r--erts/emulator/beam/erl_fun.c1
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;
}
}