summaryrefslogtreecommitdiff
path: root/db/db.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'db/db.cpp')
-rw-r--r--db/db.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/db/db.cpp b/db/db.cpp
index 32ce707857b..904e0061231 100644
--- a/db/db.cpp
+++ b/db/db.cpp
@@ -696,7 +696,13 @@ void pipeSigHandler( int signal ) {
psignal( signal, "Signal Received : ");
}
+int segvs = 0;
void segvhandler(int x) {
+ if( ++segvs > 1 ) {
+ if( segvs == 2 )
+ cout << " got 2nd SIGSEGV" << endl;
+ return;
+ }
problem() << "got SIGSEGV " << x << ", terminating :-(" << endl;
sayDbContext();
MemoryMappedFile::closeAllFiles();
@@ -709,7 +715,7 @@ void mysighandler(int x) {
problem() << "got kill or ctrl c signal " << x << ", will terminate after current cmd ends" << endl;
{
lock lk(dbMutex);
- problem() << "mysighandler now exiting" << endl;
+ problem() << " now exiting" << endl;
exit(12);
}
}