Lines Matching refs:request
60 std::shared_ptr<ProcessDumpRequest> request = std::make_shared<ProcessDumpRequest>(); in Dump() local
61 resDump_ = DumpProcess(request); in Dump()
74 …DFXLOG_INFO("Finish dump stacktrace for %s(%d:%d).", request->processName, request->pid, request->… in Dump()
84 int ProcessDumper::DumpProcess(std::shared_ptr<ProcessDumpRequest> request) in DumpProcess() argument
88 ssize_t readCount = read(STDIN_FILENO, request.get(), sizeof(ProcessDumpRequest)); in DumpProcess()
95 isCrash_ = (request->siginfo.si_signo != SIGDUMP); in DumpProcess()
100 if ((!isCrash_ && (syscall(SYS_getppid) != request->nsPid)) || in DumpProcess()
101 (isCrash_ && (syscall(SYS_getppid) != request->vmNsPid))) { in DumpProcess()
103 … request->processName, request->nsPid, syscall(SYS_getppid), request->siginfo.si_signo); in DumpProcess()
108 …request->siginfo.si_value.sival_int, request->pid, request->nsPid, request->tid, request->threadNa… in DumpProcess()
110 if (InitProcessInfo(request) < 0) { in DumpProcess()
116 if (InitPrintThread(request) < 0) { in DumpProcess()
122 … reporter_ = std::make_shared<CppCrashReporter>(request->timeStamp, request->siginfo, process_); in DumpProcess()
125 Printer::PrintDumpHeader(request, process_); in DumpProcess()
131 if ((!isCrash_ && (syscall(SYS_getppid) != request->nsPid)) || in DumpProcess()
132 (isCrash_ && (syscall(SYS_getppid) != request->vmNsPid))) { in DumpProcess()
142 int ProcessDumper::InitProcessInfo(std::shared_ptr<ProcessDumpRequest> request) in InitProcessInfo() argument
144 if (request->pid <= 0) { in InitProcessInfo()
147 process_ = DfxProcess::Create(request->pid, request->nsPid); in InitProcessInfo()
152 process_->processInfo_.processName = std::string(request->processName); in InitProcessInfo()
154 process_->processInfo_.uid = request->uid; in InitProcessInfo()
155 process_->recycleTid_ = request->recycleTid; in InitProcessInfo()
156 process_->SetFatalMessage(request->lastFatalMessage); in InitProcessInfo()
158 if (isCrash_ && request->vmPid != 0) { in InitProcessInfo()
159 if (getppid() != request->vmNsPid) { in InitProcessInfo()
160 DFXLOG_ERROR("VM process(%d) should be parent pid.", request->vmNsPid); in InitProcessInfo()
163 process_->vmThread_ = DfxThread::Create(request->vmPid, request->vmPid, request->vmNsPid); in InitProcessInfo()
165 DFXLOG_ERROR("Fail to attach vm thread(%d).", request->vmNsPid); in InitProcessInfo()
169 process_->vmThread_->SetThreadRegs(DfxRegs::CreateFromContext(request->context)); in InitProcessInfo()
170 process_->vmThread_->threadInfo_.threadName = std::string(request->threadName); in InitProcessInfo()
173 pid_t dumpTid = request->siginfo.si_value.sival_int; in InitProcessInfo()
174 pid_t nsTid = request->tid; in InitProcessInfo()
190 process_->keyThread_->threadInfo_.threadName = std::string(request->threadName); in InitProcessInfo()
204 int ProcessDumper::InitPrintThread(std::shared_ptr<ProcessDumpRequest> request) in InitPrintThread() argument
214 InitDebugLog((int)type, request->pid, request->tid, request->uid); in InitPrintThread()
218 faultloggerdRequest.pid = request->pid; in InitPrintThread()
219 faultloggerdRequest.tid = request->tid; in InitPrintThread()
220 faultloggerdRequest.uid = request->uid; in InitPrintThread()
221 faultloggerdRequest.time = request->timeStamp; in InitPrintThread()
226 fd = RequestPipeFd(request->pid, FaultLoggerPipeType::PIPE_FD_WRITE_BUF); in InitPrintThread()
229 resFd_ = RequestPipeFd(request->pid, FaultLoggerPipeType::PIPE_FD_WRITE_RES); in InitPrintThread()