aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/io.c
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2013-11-25 15:34:03 +0100
committerRickard Green <[email protected]>2013-11-26 14:05:19 +0100
commitdc9ff931423b57e64abde0f1de7133f334abb780 (patch)
treebe43bdb07cbef7701fe80a891fd83af9ac734126 /erts/emulator/beam/io.c
parent666884a245fd57f04e0a15b0602c46bf271966f0 (diff)
downloadotp-dc9ff931423b57e64abde0f1de7133f334abb780.tar.gz
otp-dc9ff931423b57e64abde0f1de7133f334abb780.tar.bz2
otp-dc9ff931423b57e64abde0f1de7133f334abb780.zip
Ensure exit signal due to link precede port BIF return
Diffstat (limited to 'erts/emulator/beam/io.c')
-rw-r--r--erts/emulator/beam/io.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/erts/emulator/beam/io.c b/erts/emulator/beam/io.c
index 6911fd8241..9076bbe73c 100644
--- a/erts/emulator/beam/io.c
+++ b/erts/emulator/beam/io.c
@@ -3601,6 +3601,8 @@ erts_deliver_port_exit(Port *p, Eterm from, Eterm reason, int send_closed)
if (send_closed)
set_state_flags |= ERTS_PORT_SFLG_SEND_CLOSED;
+ erts_port_task_sched_enter_exiting_state(&p->sched);
+
state = erts_atomic32_read_bor_mb(&p->state, set_state_flags);
state |= set_state_flags;