aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator
diff options
context:
space:
mode:
authorRickard Green <rickard@erlang.org>2011-12-05 17:59:51 +0100
committerRickard Green <rickard@erlang.org>2011-12-05 17:59:51 +0100
commit9f2ccc702120ad14eebccd3010b212e6ab029c8d (patch)
tree7d339d50ee8df7c3cfe5277b18b2b7757db36d51 /erts/emulator
parentc7effd14268d2058cfd83fa847bc3692cb30a7fc (diff)
parent69969c2cd7b2aa3efbf35df8a908a17377a895a4 (diff)
downloadotp-9f2ccc702120ad14eebccd3010b212e6ab029c8d.tar.gz
otp-9f2ccc702120ad14eebccd3010b212e6ab029c8d.tar.bz2
otp-9f2ccc702120ad14eebccd3010b212e6ab029c8d.zip
Merge branch 'rickard/generic-thr-queue/OTP-9632'
* rickard/generic-thr-queue/OTP-9632: Fix handle_async_ready_clean()
Diffstat (limited to 'erts/emulator')
-rw-r--r--erts/emulator/beam/erl_process.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c
index ec4b1dcd98..055211ad9b 100644
--- a/erts/emulator/beam/erl_process.c
+++ b/erts/emulator/beam/erl_process.c
@@ -909,7 +909,7 @@ handle_async_ready_clean(ErtsAuxWorkData *awdp,
#ifdef ERTS_SMP
if (awdp->async_ready.need_thr_prgr
- && !erts_thr_progress_has_reached(awdp->misc.thr_prgr)) {
+ && !erts_thr_progress_has_reached(awdp->async_ready.thr_prgr)) {
return aux_work & ~ERTS_SSI_AUX_WORK_ASYNC_READY_CLEAN;
}
@@ -928,6 +928,7 @@ handle_async_ready_clean(ErtsAuxWorkData *awdp,
erts_thr_progress_wakeup(awdp->esdp,
awdp->async_ready.thr_prgr);
awdp->async_ready.need_thr_prgr = 1;
+ return aux_work & ~ERTS_SSI_AUX_WORK_ASYNC_READY_CLEAN;
#endif
default:
return aux_work;