aboutsummaryrefslogtreecommitdiffstats
path: root/erts/emulator
diff options
context:
space:
mode:
authorHans Nilsson <[email protected]>2017-02-03 11:33:23 +0100
committerHans Nilsson <[email protected]>2017-02-03 11:33:23 +0100
commitf0867aa2ccbbf5677e0577bba08f8b7bc53ec0ed (patch)
treec00a87aafdd637788ba5e7321eacd234604e1ef6 /erts/emulator
parent73e5d40659f48b5aa7b4e25878fa0282ddb30b23 (diff)
parent79ea550fdf9ebd02c1932728dac509cd0d520a7c (diff)
downloadotp-f0867aa2ccbbf5677e0577bba08f8b7bc53ec0ed.tar.gz
otp-f0867aa2ccbbf5677e0577bba08f8b7bc53ec0ed.tar.bz2
otp-f0867aa2ccbbf5677e0577bba08f8b7bc53ec0ed.zip
Merge branch 'maint-18' into maint
Conflicts: OTP_VERSION erts/doc/src/notes.xml erts/emulator/sys/unix/erl_unix_sys.h erts/emulator/sys/unix/sys.c erts/vsn.mk lib/crypto/c_src/crypto.c lib/crypto/doc/src/notes.xml lib/crypto/vsn.mk lib/inets/doc/src/notes.xml lib/inets/vsn.mk lib/ssh/doc/src/notes.xml lib/ssh/src/ssh.app.src lib/ssh/src/ssh_connection_handler.erl lib/ssh/vsn.mk otp_versions.table
Diffstat (limited to 'erts/emulator')
-rw-r--r--erts/emulator/beam/erl_init.c1
-rw-r--r--erts/emulator/sys/unix/sys.c46
2 files changed, 47 insertions, 0 deletions
diff --git a/erts/emulator/beam/erl_init.c b/erts/emulator/beam/erl_init.c
index 070cc3f2d0..2fd97208cc 100644
--- a/erts/emulator/beam/erl_init.c
+++ b/erts/emulator/beam/erl_init.c
@@ -2220,6 +2220,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 */
diff --git a/erts/emulator/sys/unix/sys.c b/erts/emulator/sys/unix/sys.c
index e135dbff99..fa95473db8 100644
--- a/erts/emulator/sys/unix/sys.c
+++ b/erts/emulator/sys/unix/sys.c
@@ -819,15 +819,61 @@ void init_break_handler(void)
}
void sys_init_suspend_handler(void)
+<<<<<<< HEAD
{
#ifdef ERTS_SYS_SUSPEND_SIGNAL
sys_signal(ERTS_SYS_SUSPEND_SIGNAL, suspend_signal);
+=======
+{
+#ifdef ERTS_SYS_SUSPEND_SIGNAL
+ sys_signal(ERTS_SYS_SUSPEND_SIGNAL, suspend_signal);
+#endif
+}
+
+int sys_max_files(void)
+{
+ return(max_files);
+}
+
+static void block_signals(void)
+{
+#if !CHLDWTHR
+ sys_sigblock(SIGCHLD);
+#endif
+#ifndef ERTS_SMP
+ sys_sigblock(SIGINT);
+#ifndef ETHR_UNUSABLE_SIGUSRX
+ sys_sigblock(SIGUSR1);
+#endif /* #ifndef ETHR_UNUSABLE_SIGUSRX */
+#endif /* #ifndef ERTS_SMP */
+
+#ifdef ERTS_SYS_SUSPEND_SIGNAL
+ sys_sigblock(ERTS_SYS_SUSPEND_SIGNAL);
+>>>>>>> maint-18
#endif
}
int sys_max_files(void)
{
+<<<<<<< HEAD
return(max_files);
+=======
+ /* Update erl_child_setup.c if changed */
+#if !CHLDWTHR
+ sys_sigrelease(SIGCHLD);
+#endif
+#ifndef ERTS_SMP
+ sys_sigrelease(SIGINT);
+#ifndef ETHR_UNUSABLE_SIGUSRX
+ sys_sigrelease(SIGUSR1);
+#endif /* #ifndef ETHR_UNUSABLE_SIGUSRX */
+#endif /* #ifndef ERTS_SMP */
+
+#ifdef ERTS_SYS_SUSPEND_SIGNAL
+ sys_sigrelease(ERTS_SYS_SUSPEND_SIGNAL);
+#endif
+
+>>>>>>> maint-18
}
/************************** OS info *******************************/