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

Commit dcd23dfc authored by Bart Van Assche's avatar Bart Van Assche
Browse files

init/epoll: Stop using smart pointers



Change the type of 'handler' from std::shared_ptr<Handler> into Handler.
This change is safe since a previous CL moved the handler calls from the
Epoll::Wait() caller into Epoll::Wait() itself.

Bug: 213617178
Change-Id: Ife79e6863536b96ee4bb3cd778f6b0b164a95fed
Signed-off-by: default avatarBart Van Assche <bvanassche@google.com>
parent bc5c4a46
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ Result<void> Epoll::RegisterHandler(int fd, Handler handler, uint32_t events) {
    auto [it, inserted] = epoll_handlers_.emplace(
            fd, Info{
                        .events = events,
                        .handler = std::make_shared<Handler>(std::move(handler)),
                        .handler = std::move(handler),
                });
    if (!inserted) {
        return Error() << "Cannot specify two epoll handlers for a given FD";
@@ -107,7 +107,7 @@ Result<int> Epoll::Wait(std::optional<std::chrono::milliseconds> timeout) {
            // Log something informational.
            LOG(ERROR) << "Received unexpected epoll event set: " << ev[i].events;
        }
        (*info.handler)();
        info.handler();
        for (auto fd : to_remove_) {
            epoll_handlers_.erase(fd);
        }
+1 −1
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ class Epoll {

  private:
    struct Info {
        std::shared_ptr<Handler> handler;
        Handler handler;
        uint32_t events;
    };