aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator/beam
diff options
context:
space:
mode:
authorLukas Larsson <[email protected]>2016-03-18 14:55:51 +0100
committerLukas Larsson <[email protected]>2016-03-18 14:55:51 +0100
commit49aed19fc304ed28e46988099f2f13f8fa73d3d4 (patch)
tree4648a301618d2c0581907e83adb2402393116f1c /erts/emulator/beam
parent586e8f0cb587355221ed8a24c4e8ca06e8404192 (diff)
parent6cec93eb4e697fc1451b0b4729fc3d4874581ebd (diff)
downloadotp-49aed19fc304ed28e46988099f2f13f8fa73d3d4.tar.gz
otp-49aed19fc304ed28e46988099f2f13f8fa73d3d4.tar.bz2
otp-49aed19fc304ed28e46988099f2f13f8fa73d3d4.zip
Merge branch 'lukas/erts/fix_scheduler_suspend/ERL-94/PR-978/OTP-13425'
* lukas/erts/fix_scheduler_suspend/ERL-94/PR-978/OTP-13425: erts: Fix install of suspend handler Conflicts: erts/emulator/sys/unix/erl_unix_sys.h erts/emulator/sys/unix/sys.c
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 8c039ef132..446598362c 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 86c4eeb484..0c81a95705 100644
--- a/erts/emulator/beam/erl_init.c
+++ b/erts/emulator/beam/erl_init.c
@@ -2188,6 +2188,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 */