Commit 623c9055 authored by Pavel Vainerman's avatar Pavel Vainerman

(UActivator): сделал вывод stack trace и для сигнала SIGABRT.

parent e318a9a8
......@@ -86,6 +86,8 @@ using namespace std;
Если не включён, то выводиться в cerr.
Сам обработчик только выводит trace и завершает работу, восстановив обработчик SIGSEGV по умолчанию,
без какой-либо специальной обработки завершения.
Помимо этого, вывод stack trace сделан и для сигнала SIGABRT
*/
// ------------------------------------------------------------------------------------------
static std::shared_ptr<UniSetActivator> g_act;
......@@ -233,18 +235,12 @@ static void activator_terminate( int signo )
ulogsys << "****** TERMINATE SIGNAL=" << signo << endl << flush;
// прежде чем вызывать notify_one следует освободить mutex...(вроде как)
{
std::unique_lock<std::mutex> locker(g_termmutex);
if( g_term )
return;
g_term = true;
}
if( signo == SIGABRT )
printStackTrace();
ulogsys << "****** TERMINATE NOTIFY...(signo=" << signo << ")" << endl << flush;
g_term = true;
g_signo = signo;
g_termevent.notify_one();
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment