adb: use asocket's close function when closing.
close_all_sockets was assuming that all registered local sockets used
local_socket_close as their close function. However, this is not true
for JDWP sockets.
Bug: http://b/28347842
Change-Id: I40a1174845cd33f15f30ce70828a7081cd5a087e
(cherry picked from commit 53eb31d87cb84a4212f4850bf745646e1fb12814)
(cherry picked from commit 014b01706cc64dc9c2ad94a96f62e07c058d0b5d)
diff --git a/adb/sockets.cpp b/adb/sockets.cpp
index 31b5443..3919147 100644
--- a/adb/sockets.cpp
+++ b/adb/sockets.cpp
@@ -43,8 +43,6 @@
using std::recursive_mutex;
#endif
-static void local_socket_close(asocket* s);
-
static recursive_mutex& local_socket_list_lock = *new recursive_mutex();
static unsigned local_socket_next_id = 1;
@@ -128,7 +126,7 @@
restart:
for (s = local_socket_list.next; s != &local_socket_list; s = s->next) {
if (s->transport == t || (s->peer && s->peer->transport == t)) {
- local_socket_close(s);
+ s->close(s);
goto restart;
}
}