aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/erl_port_task.c
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2014-01-27 16:28:21 +0100
committerRickard Green <[email protected]>2014-01-27 16:28:21 +0100
commitddb919031ec719b6ddf6f992cd1af6c27c0be0c5 (patch)
tree8e905690deb9a1bc0406bf7f9b86b63e15cd04a3 /erts/emulator/beam/erl_port_task.c
parent3ff735cc034dea43e593b5e58b91be95268cbf85 (diff)
downloadotp-ddb919031ec719b6ddf6f992cd1af6c27c0be0c5.tar.gz
otp-ddb919031ec719b6ddf6f992cd1af6c27c0be0c5.tar.bz2
otp-ddb919031ec719b6ddf6f992cd1af6c27c0be0c5.zip
Fix usage of non-empty run-queue flag
Diffstat (limited to 'erts/emulator/beam/erl_port_task.c')
-rw-r--r--erts/emulator/beam/erl_port_task.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_port_task.c b/erts/emulator/beam/erl_port_task.c
index 547a42beb2..d4108067d0 100644
--- a/erts/emulator/beam/erl_port_task.c
+++ b/erts/emulator/beam/erl_port_task.c
@@ -877,6 +877,11 @@ enqueue_port(ErtsRunQueue *runq, Port *pp)
ASSERT(runq->ports.start && runq->ports.end);
erts_smp_inc_runq_len(runq, &runq->ports.info, ERTS_PORT_PRIO_LEVEL);
+
+#ifdef ERTS_SMP
+ if (runq->halt_in_progress)
+ erts_non_empty_runq(runq);
+#endif
}
static ERTS_INLINE Port *