aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_fun.c
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 /erts/emulator/beam/erl_fun.c
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.
Diffstat (limited to 'erts/emulator/beam/erl_fun.c')
-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;
}
}