aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/io.c
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2013-11-28 15:04:25 +0100
committerRickard Green <[email protected]>2013-11-28 15:04:25 +0100
commit0519e57f544a2dc1f60e5524d000f2211fc029e8 (patch)
treeeee3727caa22f87504b26f6983259454ade7d826 /erts/emulator/beam/io.c
parent7914f4c8e64a3b9a4fdf94aa65150705b7da08b7 (diff)
parentdc9ff931423b57e64abde0f1de7133f334abb780 (diff)
downloadotp-0519e57f544a2dc1f60e5524d000f2211fc029e8.tar.gz
otp-0519e57f544a2dc1f60e5524d000f2211fc029e8.tar.bz2
otp-0519e57f544a2dc1f60e5524d000f2211fc029e8.zip
Merge branch 'rickard/port_bifs_fix/OTP-11489' into maint
* rickard/port_bifs_fix/OTP-11489: 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;