From 1f4e3e41138854659c4c379aecdcea76ada49e22 Mon Sep 17 00:00:00 2001 From: Stewart X Addison Date: Fri, 30 Dec 2016 12:44:46 +0000 Subject: [PATCH] build: don't squash signal handlers with --shared An application using node built as a shared library may legitimately implement its own signal handling routines. Current behaviour is to squash all signal handlers on node startup. This change will stop that behaviour when node is built as a shared library. PR-URL: https://github.com/nodejs/node/pull/10539 Fixes: https://github.com/nodejs/node/issues/10520 Refs: https://github.com/nodejs/node/pull/615 Reviewed-By: Sam Roberts Reviewed-By: Gibson Fahnestock Reviewed-By: James M Snell Reviewed-By: Ben Noordhuis --- src/node.cc | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/node.cc b/src/node.cc index 05930e8bac215f..2a43d115c55625 100644 --- a/src/node.cc +++ b/src/node.cc @@ -3957,6 +3957,7 @@ inline void PlatformInit() { CHECK_EQ(err, 0); +#ifndef NODE_SHARED_MODE // Restore signal dispositions, the parent process may have changed them. struct sigaction act; memset(&act, 0, sizeof(act)); @@ -3970,6 +3971,7 @@ inline void PlatformInit() { act.sa_handler = (nr == SIGPIPE) ? SIG_IGN : SIG_DFL; CHECK_EQ(0, sigaction(nr, &act, nullptr)); } +#endif // !NODE_SHARED_MODE RegisterSignalHandler(SIGINT, SignalExit, true); RegisterSignalHandler(SIGTERM, SignalExit, true);