From 8c038f2a2f7fef5950149bd10d21c5d6234806a8 Mon Sep 17 00:00:00 2001 From: Nick Kralevich Date: Sat, 15 Dec 2018 11:36:47 -0800 Subject: [PATCH] healthd_common.cpp: use epoll_create1 epoll_create leaks file descriptors. Use epoll_create1(EPOLL_CLOEXEC) instead. Bug: 120983106 Test: compiles and boots Change-Id: I50aad9f1c0633add2b44fb22be73dd292a366f39 --- health/2.0/default/healthd_common.cpp | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/health/2.0/default/healthd_common.cpp b/health/2.0/default/healthd_common.cpp index 8ff409dd56..b5fdc8ecb8 100644 --- a/health/2.0/default/healthd_common.cpp +++ b/health/2.0/default/healthd_common.cpp @@ -67,8 +67,6 @@ static int epollfd; #define POWER_SUPPLY_SUBSYSTEM "power_supply" -// epoll_create() parameter is actually unused -#define MAX_EPOLL_EVENTS 40 static int uevent_fd; static int wakealarm_fd; @@ -240,9 +238,9 @@ static void healthd_mainloop(void) { } static int healthd_init() { - epollfd = epoll_create(MAX_EPOLL_EVENTS); + epollfd = epoll_create1(EPOLL_CLOEXEC); if (epollfd == -1) { - KLOG_ERROR(LOG_TAG, "epoll_create failed; errno=%d\n", errno); + KLOG_ERROR(LOG_TAG, "epoll_create1 failed; errno=%d\n", errno); return -1; }