Use SIGRTMIN instead of SIGPROF for user debugging purposes

This commit is contained in:
Ivan Lezhankin 2019-11-18 22:01:45 +03:00
parent febb7f6aca
commit 4f56e03729
2 changed files with 4 additions and 5 deletions

View File

@ -158,7 +158,7 @@ std::string signalToErrorMessage(int sig, const siginfo_t & info, const ucontext
break;
}
case SIGPROF:
case SIGRTMIN:
{
error << "This is a signal used for debugging purposes by the user.";
break;

View File

@ -110,7 +110,7 @@ static void faultSignalHandler(int sig, siginfo_t * info, void * context)
out.next();
if (sig != SIGPROF) /// This signal is used for debugging.
if (sig != SIGRTMIN) /// This signal is used for debugging.
{
/// The time that is usually enough for separate thread to print info into log.
::sleep(10);
@ -719,9 +719,9 @@ void BaseDaemon::initializeTerminationAndSignalProcessing()
}
};
/// SIGPROF is added for debugging purposes. To output a stack trace of any running thread at anytime.
/// SIGRTMIN is added for debugging purposes. To output a stack trace of any running thread at anytime.
add_signal_handler({SIGABRT, SIGSEGV, SIGILL, SIGBUS, SIGSYS, SIGFPE, SIGPIPE, SIGPROF}, faultSignalHandler);
add_signal_handler({SIGABRT, SIGSEGV, SIGILL, SIGBUS, SIGSYS, SIGFPE, SIGPIPE, SIGRTMIN}, faultSignalHandler);
add_signal_handler({SIGHUP, SIGUSR1}, closeLogsSignalHandler);
add_signal_handler({SIGINT, SIGQUIT, SIGTERM}, terminateRequestedSignalHandler);
@ -891,4 +891,3 @@ void BaseDaemon::waitForTerminationRequest()
std::unique_lock<std::mutex> lock(signal_handler_mutex);
signal_event.wait(lock, [this](){ return terminate_signals_counter > 0; });
}