Merge "init/epoll: Stop using smart pointers" am: 51706e7718

Original change: https://android-review.googlesource.com/c/platform/system/core/+/2255743

Change-Id: I93621555fb172e12666e2cdd04f3892748241f42
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Bart Van Assche 2022-10-20 17:06:58 +00:00 committed by Automerger Merge Worker
commit f7b798d767
2 changed files with 3 additions and 3 deletions

View file

@ -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);
}

View file

@ -48,7 +48,7 @@ class Epoll {
private:
struct Info {
std::shared_ptr<Handler> handler;
Handler handler;
uint32_t events;
};