| 306 | |
| 307 | #ifdef NATRON_USE_BREAKPAD |
| 308 | void |
| 309 | AppManagerPrivate::initBreakpad(const QString& breakpadPipePath, |
| 310 | const QString& breakpadComPipePath, |
| 311 | int breakpad_client_fd) |
| 312 | { |
| 313 | assert(!breakpadHandler); |
| 314 | createBreakpadHandler(breakpadPipePath, breakpad_client_fd); |
| 315 | |
| 316 | /* |
| 317 | We check periodically that the crash reporter process is still alive. If the user killed it somehow, then we want |
| 318 | the Natron process to terminate |
| 319 | */ |
| 320 | breakpadAliveThread = std::make_shared<ExistenceCheckerThread>(QString::fromUtf8(NATRON_NATRON_TO_BREAKPAD_EXISTENCE_CHECK), |
| 321 | QString::fromUtf8(NATRON_NATRON_TO_BREAKPAD_EXISTENCE_CHECK_ACK), |
| 322 | breakpadComPipePath); |
| 323 | QObject::connect( breakpadAliveThread.get(), SIGNAL(otherProcessUnreachable()), appPTR, SLOT(onCrashReporterNoLongerResponding()) ); |
| 324 | breakpadAliveThread->start(); |
| 325 | } |
| 326 | |
| 327 | void |
| 328 | AppManagerPrivate::createBreakpadHandler(const QString& breakpadPipePath, |
no test coverage detected