aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam
diff options
context:
space:
mode:
authorErlang/OTP <[email protected]>2017-02-01 18:32:25 +0100
committerErlang/OTP <[email protected]>2017-02-01 18:32:25 +0100
commitf74baa361cf8b3af437f75aa1ec5a1886005261c (patch)
tree980dc39ff175b15ff4b2812af658da4e90de9154 /erts/emulator/beam
parent8816cb5bc1befbe41f4cef5441d0ac39e49c19fd (diff)
parentc46ba734b6787e254b45b35ea135fc2da23190bb (diff)
downloadotp-f74baa361cf8b3af437f75aa1ec5a1886005261c.tar.gz
otp-f74baa361cf8b3af437f75aa1ec5a1886005261c.tar.bz2
otp-f74baa361cf8b3af437f75aa1ec5a1886005261c.zip
Merge branch 'egil/erts/fix_scheduler_suspend/ERL-94/PR-978/OTP-13425' into maint-18
* egil/erts/fix_scheduler_suspend/ERL-94/PR-978/OTP-13425: erts: Fix install of suspend handler
Diffstat (limited to 'erts/emulator/beam')
-rw-r--r--erts/emulator/beam/break.c4
-rw-r--r--erts/emulator/beam/erl_init.c1
2 files changed, 3 insertions, 2 deletions
diff --git a/erts/emulator/beam/break.c b/erts/emulator/beam/break.c
index 0ddf7f4e6d..298b30fff3 100644
--- a/erts/emulator/beam/break.c
+++ b/erts/emulator/beam/break.c
@@ -684,7 +684,7 @@ erl_crash_dump_v(char *file, int line, char* fmt, va_list args)
crash dump. */
erts_thr_progress_fatal_error_block(&tpd_buf);
-#ifdef ERTS_THR_HAVE_SIG_FUNCS
+#ifdef ERTS_SYS_SUSPEND_SIGNAL
/*
* We suspend all scheduler threads so that we can dump some
* data about the currently running processes and scheduler data.
@@ -818,7 +818,7 @@ erl_crash_dump_v(char *file, int line, char* fmt, va_list args)
#ifdef ERTS_SMP
-#if defined(ERTS_THR_HAVE_SIG_FUNCS)
+#ifdef ERTS_SYS_SUSPEND_SIGNAL
/* We resume all schedulers so that we are in a known safe state
when we write the rest of the crash dump */
diff --git a/erts/emulator/beam/erl_init.c b/erts/emulator/beam/erl_init.c
index b4d5bf8fb6..8b85613e18 100644
--- a/erts/emulator/beam/erl_init.c
+++ b/erts/emulator/beam/erl_init.c
@@ -2134,6 +2134,7 @@ erl_start(int argc, char **argv)
init_break_handler();
if (replace_intr)
erts_replace_intr();
+ sys_init_suspend_handler();
#endif
boot_argc = argc - i; /* Number of arguments to init */