Index: runtime/bin/eventhandler_macos.cc |
diff --git a/runtime/bin/eventhandler_macos.cc b/runtime/bin/eventhandler_macos.cc |
index c2b7833de75f3db40435101e4225f47e37fb176a..b55ea8e08b1055a8bea1af938cfb819afa9d50b6 100644 |
--- a/runtime/bin/eventhandler_macos.cc |
+++ b/runtime/bin/eventhandler_macos.cc |
@@ -140,7 +140,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(kqueue_fd_)); |
VOID_TEMP_FAILURE_RETRY(close(interrupt_fds_[0])); |
VOID_TEMP_FAILURE_RETRY(close(interrupt_fds_[1])); |