diff options
author | Rickard Green <[email protected]> | 2012-06-14 15:37:23 +0200 |
---|---|---|
committer | Rickard Green <[email protected]> | 2012-06-18 22:57:55 +0200 |
commit | 2e5c1dbb32cfe4be0a782216953b4630338edabc (patch) | |
tree | 791e5bb82419c7eaaad4fee2c78a7fb181d76ecb /erts/emulator/beam/erl_alloc_util.c | |
parent | cfea5eea406ba3af96588ff458e55de9a149d9c5 (diff) | |
download | otp-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_alloc_util.c')
-rw-r--r-- | erts/emulator/beam/erl_alloc_util.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_alloc_util.c b/erts/emulator/beam/erl_alloc_util.c index e0d525bdde..a0abd1c405 100644 --- a/erts/emulator/beam/erl_alloc_util.c +++ b/erts/emulator/beam/erl_alloc_util.c @@ -949,7 +949,7 @@ ddq_check_incoming(ErtsAllctrDDQueue_t *ddq) ERTS_THR_MEMORY_BARRIER; else { ddq->head.next.unref_end = (ErtsAllctrDDBlock_t *) ilast; - ddq->head.next.thr_progress = erts_thr_progress_later(); + ddq->head.next.thr_progress = erts_thr_progress_later(NULL); erts_atomic32_set_relb(&ddq->tail.data.um_refc_ix, um_refc_ix); ddq->head.next.um_refc_ix = um_refc_ix == 0 ? 1 : 0; |