Index: runtime/bin/eventhandler_android.cc |
diff --git a/runtime/bin/eventhandler_android.cc b/runtime/bin/eventhandler_android.cc |
index 1b7bbdb0c53b4192aa2afa2edbbfcb20b41eeac0..c298a049f3560a669f57d6dcbd216521690d0a0f 100644 |
--- a/runtime/bin/eventhandler_android.cc |
+++ b/runtime/bin/eventhandler_android.cc |
@@ -118,7 +118,15 @@ EventHandlerImplementation::EventHandlerImplementation() |
} |
+static void DeleteDescriptorInfo(void* info) { |
+ DescriptorInfo* di = reinterpret_cast<DescriptorInfo*>(info); |
+ di->Close(); |
+ delete di; |
+} |
+ |
+ |
EventHandlerImplementation::~EventHandlerImplementation() { |
+ socket_map_.Clear(DeleteDescriptorInfo); |
VOID_TEMP_FAILURE_RETRY(close(epoll_fd_)); |
VOID_TEMP_FAILURE_RETRY(close(interrupt_fds_[0])); |
VOID_TEMP_FAILURE_RETRY(close(interrupt_fds_[1])); |