aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam/beam_emu.c
diff options
context:
space:
mode:
authorRickard Green <[email protected]>2018-05-16 13:31:45 +0200
committerRickard Green <[email protected]>2018-05-16 13:31:45 +0200
commit08e5744894388bb4243179d3b15acbf0f49e3173 (patch)
treebf9baa05fe5ce3fa00195f0b02153ca5c4d1c104 /erts/emulator/beam/beam_emu.c
parente1c1482b0be0ee211f8dcb9d80525750af7dc197 (diff)
parent1f2268308b837b797220a1d7419504f19742c265 (diff)
downloadotp-08e5744894388bb4243179d3b15acbf0f49e3173.tar.gz
otp-08e5744894388bb4243179d3b15acbf0f49e3173.tar.bz2
otp-08e5744894388bb4243179d3b15acbf0f49e3173.zip
Merge branch 'rickard/suspend/OTP-14964'
* rickard/suspend/OTP-14964: Fix erts_try_lock_sig_free_proc() Update etp Replace previous suspend in setnode/3 New process suspend implementation based on async signaling Teach HiPE to yield from receive
Diffstat (limited to 'erts/emulator/beam/beam_emu.c')
-rw-r--r--erts/emulator/beam/beam_emu.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/erts/emulator/beam/beam_emu.c b/erts/emulator/beam/beam_emu.c
index ee287243a4..ab5920a67e 100644
--- a/erts/emulator/beam/beam_emu.c
+++ b/erts/emulator/beam/beam_emu.c
@@ -1166,6 +1166,9 @@ void erts_dirty_process_main(ErtsSchedulerData *esdp)
reds_used = treds > INT_MAX ? INT_MAX : (int) treds;
}
+ if (c_p && ERTS_PROC_GET_PENDING_SUSPEND(c_p))
+ erts_proc_sig_handle_pending_suspend(c_p);
+
PROCESS_MAIN_CHK_LOCKS(c_p);
ERTS_UNREQ_PROC_MAIN_LOCK(c_p);
ERTS_VERIFY_UNUSED_TEMP_ALLOC(c_p);