diff --git a/src/kcrash.cpp b/src/kcrash.cpp --- a/src/kcrash.cpp +++ b/src/kcrash.cpp @@ -90,6 +90,10 @@ { KCRASH_EXPORT bool loadedByKdeinit = false; void setApplicationFilePath(const QString &filePath); + // Create socket path to transfer ptrace scope and open connection +#ifdef Q_OS_LINUX +QByteArray socketpath; +#endif } static KCrash::HandlerType s_emergencySaveFunction = nullptr; @@ -177,6 +181,13 @@ qWarning() << "This process needs a QCoreApplication instance in order to use KCrash"; } +#ifdef Q_OS_LINUX + // Create socket path to transfer ptrace scope and open connection + socketpath = QFile::encodeName( + QStringLiteral("%1/kcrash_%2").arg(QStandardPaths::writableLocation(QStandardPaths::RuntimeLocation)) + .arg(getpid())); +#endif + s_coreConfig(); // Initialize. } @@ -648,10 +659,7 @@ #endif prctl(PR_SET_PTRACER, pid, 0, 0, 0); - // Create socket path to transfer ptrace scope and open connection - const QByteArray socketpath = QFile::encodeName( - QStringLiteral("%1/kcrash_%2").arg(QStandardPaths::writableLocation(QStandardPaths::RuntimeLocation)) - .arg(getpid())); + using KCrash::socketpath; int sockfd = openDrKonqiSocket(socketpath); if (sockfd >= 0) {