diff --git a/src/inspector_agent.cc b/src/inspector_agent.cc index 5e53201c42d5c2..21319abca7d1f5 100644 --- a/src/inspector_agent.cc +++ b/src/inspector_agent.cc @@ -110,7 +110,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 b8665dc1be225d..9ef7bafeded44f 100644 --- a/src/node_watchdog.cc +++ b/src/node_watchdog.cc @@ -187,7 +187,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) { diff --git a/src/util.cc b/src/util.cc index 9f0b8ebc9d7596..ba30b23770b52e 100644 --- a/src/util.cc +++ b/src/util.cc @@ -116,7 +116,8 @@ std::string GetHumanReadableProcessName() { } void GetHumanReadableProcessName(char (*name)[1024]) { - char title[1024] = "Node.js"; + // Leave room after title for pid, which can be up to 20 digits for 64 bit. + char title[1000] = "Node.js"; uv_get_process_title(title, sizeof(title)); snprintf(*name, sizeof(*name), "%s[%d]", title, uv_os_getpid()); }