aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2012-12-10 14:50:56 +0100
committerRickard Green <[email protected]>2012-12-10 14:50:56 +0100
commit80d54455ab2eac751d3ff72b7022e24cef9c4a2a (patch)
tree9ad4fc875b3a437764c5e78a32f3776fb78ae4a9
parent13bf84f59fca26e3fcf644b566db0100b8f01546 (diff)
parentb9e3557a963471661f3b13da37ba758686192aec (diff)
downloadotp-80d54455ab2eac751d3ff72b7022e24cef9c4a2a.tar.gz
otp-80d54455ab2eac751d3ff72b7022e24cef9c4a2a.tar.bz2
otp-80d54455ab2eac751d3ff72b7022e24cef9c4a2a.zip
Merge branch 'rickard/r16/port-optimizations/OTP-10336'
* rickard/r16/port-optimizations/OTP-10336: Fix thread progress management of unmanaged threads
-rw-r--r--erts/emulator/beam/erl_thr_progress.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_thr_progress.c b/erts/emulator/beam/erl_thr_progress.c
index 3b2f95d43b..9678d7e08b 100644
--- a/erts/emulator/beam/erl_thr_progress.c
+++ b/erts/emulator/beam/erl_thr_progress.c
@@ -475,6 +475,9 @@ erts_thr_progress_init(int no_schedulers, int managed, int unmanaged)
intrnl->misc.data.umrefc_ix.waiting = -1;
erts_atomic32_init_nob(&intrnl->misc.data.umrefc_ix.current, 0);
+ erts_atomic_init_nob(&intrnl->umrefc[0].refc, (erts_aint_t) 0);
+ erts_atomic_init_nob(&intrnl->umrefc[1].refc, (erts_aint_t) 0);
+
intrnl->thr = (ErtsThrPrgrArray *) ptr;
ptr += thr_arr_sz;
for (i = 0; i < managed; i++)