Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a7a1dcf6 authored by William Escande's avatar William Escande
Browse files

linux reactor: print errno when epoll fail

Bug: 328841706
Fix: 328841706
Test: m .
Flag: Exempt log update
Change-Id: Icd65bf0b91e4b642a4df6d72a45ca0edcfd73b05
parent 01172369
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -106,13 +106,13 @@ Reactor::Reactor() : epoll_fd_(0), control_fd_(0), is_running_(false) {
  epoll_event control_epoll_event = {EPOLLIN, {.ptr = nullptr}};
  int result;
  RUN_NO_INTR(result = epoll_ctl(epoll_fd_, EPOLL_CTL_ADD, control_fd_, &control_epoll_event));
  log::assert_that(result != -1, "assert failed: result != -1");
  log::assert_that(result != -1, "epoll_ctl fail: result={} errno={}", result, strerror(errno));
}

Reactor::~Reactor() {
  int result;
  RUN_NO_INTR(result = epoll_ctl(epoll_fd_, EPOLL_CTL_DEL, control_fd_, nullptr));
  log::assert_that(result != -1, "assert failed: result != -1");
  log::assert_that(result != -1, "epoll_ctl fail: result={} errno={}", result, strerror(errno));

  RUN_NO_INTR(result = close(control_fd_));
  log::assert_that(result != -1, "assert failed: result != -1");
@@ -225,7 +225,8 @@ Reactor::Reactable* Reactor::Register(int fd, Closure on_read_ready, Closure on_
  };
  int register_fd;
  RUN_NO_INTR(register_fd = epoll_ctl(epoll_fd_, EPOLL_CTL_ADD, fd, &event));
  log::assert_that(register_fd != -1, "assert failed: register_fd != -1");
  log::assert_that(register_fd != -1, "epoll_ctl fail: register_fd={} errno={}", register_fd,
                   strerror(errno));
  return reactable;
}

@@ -306,7 +307,8 @@ void Reactor::ModifyRegistration(Reactor::Reactable* reactable, ReactOn react_on
  };
  int modify_fd;
  RUN_NO_INTR(modify_fd = epoll_ctl(epoll_fd_, EPOLL_CTL_MOD, reactable->fd_, &event));
  log::assert_that(modify_fd != -1, "assert failed: modify_fd != -1");
  log::assert_that(modify_fd != -1, "epoll_ctl fail: modify_fd={} errno={}", modify_fd,
                   strerror(errno));
}

}  // namespace os