File 2197-Yield-after-setting-sensitive-for-save_calls.patch of Package erlang

From c922f2729dcf2bc5ef571f9d77efea75029469de Mon Sep 17 00:00:00 2001
From: Lukas Larsson <lukas@erlang.org>
Date: Tue, 26 Apr 2016 15:56:21 +0200
Subject: [PATCH] Yield after setting sensitive for save_calls

---
 erts/emulator/beam/bif.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/erts/emulator/beam/bif.c b/erts/emulator/beam/bif.c
index ed5b298..c38d031 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) {
        /*
-- 
2.1.4

openSUSE Build Service is sponsored by