MCPcopy Create free account
hub / github.com/chromium/crashpad / Run

Method Run

handler/linux/exception_handler_server.cc:294–317  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

292}
293
294void ExceptionHandlerServer::Run(Delegate* delegate) {
295 INITIALIZATION_STATE_DCHECK_VALID(initialized_);
296 delegate_ = delegate;
297
298 while (keep_running_ && clients_.size() > 0) {
299 epoll_event poll_event;
300 int res = HANDLE_EINTR(epoll_wait(pollfd_.get(), &poll_event, 1, -1));
301 if (res < 0) {
302 PLOG(ERROR) << "epoll_wait";
303 return;
304 }
305 DCHECK_EQ(res, 1);
306
307 Event* eventp = reinterpret_cast<Event*>(poll_event.data.ptr);
308 if (eventp->type == Event::Type::kShutdown) {
309 if (poll_event.events & EPOLLERR) {
310 LogSocketError(eventp->fd.get());
311 }
312 keep_running_ = false;
313 } else {
314 HandleEvent(eventp, poll_event.events);
315 }
316 }
317}
318
319void ExceptionHandlerServer::Stop() {
320 keep_running_ = false;

Callers 3

ThreadMainMethod · 0.45
TEST_PFunction · 0.45

Calls 3

LogSocketErrorFunction · 0.85
sizeMethod · 0.45
getMethod · 0.45

Tested by 3

ThreadMainMethod · 0.36
TEST_PFunction · 0.36