From 16a1f96d6e573c8f921c3eb54b0c87bcb6129243 Mon Sep 17 00:00:00 2001 From: Sam Roberts Date: Mon, 3 Dec 2018 09:09:59 -0800 Subject: [PATCH] src: do not alias new and old signal masks In recent gcc, -Wrestrict warns when an argument passed to a restrict-qualified parameter aliases with another argument. PR-URL: https://github.com/nodejs/node/pull/24810 Reviewed-By: Richard Lau --- src/inspector_agent.cc | 4 +++- src/node_watchdog.cc | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/inspector_agent.cc b/src/inspector_agent.cc index dde6bda4b5f0e7..f6ceedeb289bac 100644 --- a/src/inspector_agent.cc +++ b/src/inspector_agent.cc @@ -109,7 +109,9 @@ static int StartDebugSignalHandler() { sigset_t sigmask; // Mask all signals. sigfillset(&sigmask); - CHECK_EQ(0, pthread_sigmask(SIG_SETMASK, &sigmask, &sigmask)); + sigset_t savemask; + CHECK_EQ(0, pthread_sigmask(SIG_SETMASK, &sigmask, &savemask)); + sigmask = savemask; pthread_t thread; const int err = pthread_create(&thread, &attr, StartIoThreadMain, nullptr); diff --git a/src/node_watchdog.cc b/src/node_watchdog.cc index 09b10d169371da..4b902aa4f4d666 100644 --- a/src/node_watchdog.cc +++ b/src/node_watchdog.cc @@ -186,7 +186,9 @@ int SigintWatchdogHelper::Start() { sigset_t sigmask; sigfillset(&sigmask); - CHECK_EQ(0, pthread_sigmask(SIG_SETMASK, &sigmask, &sigmask)); + sigset_t savemask; + CHECK_EQ(0, pthread_sigmask(SIG_SETMASK, &sigmask, &savemask)); + sigmask = savemask; int ret = pthread_create(&thread_, nullptr, RunSigintWatchdog, nullptr); CHECK_EQ(0, pthread_sigmask(SIG_SETMASK, &sigmask, nullptr)); if (ret != 0) {