intercept SIGUSR2 in RCCL

add support for intercepting SIGUSR2 in RCCL. This signal will
not terminate the execution of the application, but print the stacktrace
of the process that the signal was sent to instead.
This commit is contained in:
Edgar Gabriel
2022-07-15 16:17:53 +00:00
parent da31537ec7
commit 2b1d5d3bc1
+5 -1
View File
@@ -58,6 +58,10 @@ void sig_handler(int signum)
free (strings);
#endif
if (signum == SIGUSR2) {
return;
}
exit (-1);
}
@@ -69,7 +73,7 @@ void RegisterSignalHandlers()
{
INFO(NCCL_INIT, "Enabling custom signal handler");
std::vector<int> signalsToCatch = {SIGILL, SIGBUS, SIGFPE, SIGSEGV};
std::vector<int> signalsToCatch = {SIGILL, SIGBUS, SIGFPE, SIGSEGV, SIGUSR2};
for (auto signum : signalsToCatch)
{