aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_sched_spec_pre_alloc.c
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2012-06-14 15:37:23 +0200
committerRickard Green <[email protected]>2012-06-18 22:57:55 +0200
commit2e5c1dbb32cfe4be0a782216953b4630338edabc (patch)
tree791e5bb82419c7eaaad4fee2c78a7fb181d76ecb /erts/emulator/beam/erl_sched_spec_pre_alloc.c
parentcfea5eea406ba3af96588ff458e55de9a149d9c5 (diff)
downloadotp-2e5c1dbb32cfe4be0a782216953b4630338edabc.tar.gz
otp-2e5c1dbb32cfe4be0a782216953b4630338edabc.tar.bz2
otp-2e5c1dbb32cfe4be0a782216953b4630338edabc.zip
Fix faulty use of thread progress in handle_aux_work()
As an optimization old thread progress data was kept and used in handle_aux_work() in erl_process.c. This could cause memory to be deallocated at a later time than intended, which is quite harmless. This has, however, now been fixed.
Diffstat (limited to 'erts/emulator/beam/erl_sched_spec_pre_alloc.c')
-rw-r--r--erts/emulator/beam/erl_sched_spec_pre_alloc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_sched_spec_pre_alloc.c b/erts/emulator/beam/erl_sched_spec_pre_alloc.c
index bff9d246a3..37b186abd9 100644
--- a/erts/emulator/beam/erl_sched_spec_pre_alloc.c
+++ b/erts/emulator/beam/erl_sched_spec_pre_alloc.c
@@ -227,7 +227,7 @@ fetch_remote(erts_sspa_chunk_header_t *chdr, int max)
ERTS_THR_MEMORY_BARRIER;
else {
chdr->head.next.unref_end = (erts_sspa_blk_t *) ilast;
- chdr->head.next.thr_progress = erts_thr_progress_later();
+ chdr->head.next.thr_progress = erts_thr_progress_later(NULL);
erts_atomic32_set_relb(&chdr->tail.data.um_refc_ix,
um_refc_ix);
chdr->head.next.um_refc_ix = um_refc_ix == 0 ? 1 : 0;