diff --git a/interfaces/innerkits/sigdump_handler/dfx_sigdump_handler.cpp b/interfaces/innerkits/sigdump_handler/dfx_sigdump_handler.cpp index 00573c24788421dbde5beb7a4bc12ef40f2c11f7..dc1ccf043bfb30f8bab510696809182131c91aca 100644 --- a/interfaces/innerkits/sigdump_handler/dfx_sigdump_handler.cpp +++ b/interfaces/innerkits/sigdump_handler/dfx_sigdump_handler.cpp @@ -159,6 +159,9 @@ bool DfxSigDumpHandler::Init() sigaction(SIGDUMP, &action, nullptr); isThreadRunning_ = true; std::thread catchThread = std::thread(&DfxSigDumpHandler::RunThread); + if (catchThread.joinable() == false) { + return false; + } catchThread.detach(); return true; }