From e557d9e5342ed2823d8d580a3b532752c6bbbc15 Mon Sep 17 00:00:00 2001 From: Sverker Eriksson Date: Thu, 30 Aug 2012 21:40:17 +0200 Subject: erts: Allow thr_prgr_later_op to reschedule and reuse the same ErtsThrPrgrLaterOp --- erts/emulator/beam/erl_process.c | 3 +++ 1 file changed, 3 insertions(+) (limited to 'erts/emulator/beam') diff --git a/erts/emulator/beam/erl_process.c b/erts/emulator/beam/erl_process.c index 25b32c851d..986619944e 100644 --- a/erts/emulator/beam/erl_process.c +++ b/erts/emulator/beam/erl_process.c @@ -1632,6 +1632,9 @@ handle_thr_prgr_later_op(ErtsAuxWorkData *awdp, erts_aint32_t aux_work) if (!erts_thr_progress_has_reached_this(current, lop->later)) return aux_work & ~ERTS_SSI_AUX_WORK_THR_PRGR_LATER_OP; awdp->later_op.first = lop->next; + if (!awdp->later_op.first) { + awdp->later_op.last = NULL; + } lop->func(lop->data); if (!awdp->later_op.first) { awdp->later_op.last = NULL; -- cgit v1.2.3