aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2016-05-03 10:16:14 +0200
committerLukas Larsson <[email protected]>2016-05-03 10:16:14 +0200
commit0dcc4dad547fb7774f9c3b964fadec14fda15243 (patch)
tree2122cf882568f0afd33f4735b4e4c3da58fb905b /erts/emulator/beam
parent8fcc73cd8d19fe362f929c9cb0d96579a2ed4ee5 (diff)
parentc922f2729dcf2bc5ef571f9d77efea75029469de (diff)
downloadotp-0dcc4dad547fb7774f9c3b964fadec14fda15243.tar.gz
otp-0dcc4dad547fb7774f9c3b964fadec14fda15243.tar.bz2
otp-0dcc4dad547fb7774f9c3b964fadec14fda15243.zip
Merge branch 'lukas/erts/sensitive_yield/OTP-13540'
* lukas/erts/sensitive_yield/OTP-13540: Yield after setting sensitive for save_calls
Diffstat (limited to 'erts/emulator/beam')
-rw-r--r--erts/emulator/beam/bif.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/erts/emulator/beam/bif.c b/erts/emulator/beam/bif.c
index ed5b2983dd..c38d031ab8 100644
--- a/erts/emulator/beam/bif.c
+++ b/erts/emulator/beam/bif.c
@@ -1736,7 +1736,9 @@ BIF_RETTYPE process_flag_2(BIF_ALIST_2)
ERTS_TRACE_FLAGS(BIF_P) &= ~F_SENSITIVE;
}
erts_smp_proc_unlock(BIF_P, ERTS_PROC_LOCKS_ALL_MINOR);
- BIF_RET(old_value);
+ /* make sure to bump all reds so that we get
+ rescheduled immediately so setting takes effect */
+ BIF_RET2(old_value, CONTEXT_REDS);
}
else if (BIF_ARG_1 == am_monitor_nodes) {
/*