diff options
Diffstat (limited to 'synchronizer/main.cpp')
-rw-r--r-- | synchronizer/main.cpp | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/synchronizer/main.cpp b/synchronizer/main.cpp index 7b9165e..b228248 100644 --- a/synchronizer/main.cpp +++ b/synchronizer/main.cpp | |||
@@ -136,10 +136,16 @@ void terminateHandler() | |||
136 | 136 | ||
137 | int main(int argc, char *argv[]) | 137 | int main(int argc, char *argv[]) |
138 | { | 138 | { |
139 | // For crashes | 139 | const bool gdbDebugMode = qEnvironmentVariableIsSet("SINK_GDB_DEBUG"); |
140 | std::signal(SIGSEGV, crashHandler); | 140 | if (gdbDebugMode) { |
141 | std::signal(SIGABRT, crashHandler); | 141 | SinkWarning() << "Running resource in debug mode and waiting for gdb to attach: gdb attach " << getpid(); |
142 | std::set_terminate(terminateHandler); | 142 | raise(SIGSTOP); |
143 | } else { | ||
144 | // For crashes | ||
145 | std::signal(SIGSEGV, crashHandler); | ||
146 | std::signal(SIGABRT, crashHandler); | ||
147 | std::set_terminate(terminateHandler); | ||
148 | } | ||
143 | 149 | ||
144 | QCoreApplication app(argc, argv); | 150 | QCoreApplication app(argc, argv); |
145 | app.setQuitLockEnabled(false); | 151 | app.setQuitLockEnabled(false); |