Loading adb/sockets.c +5 −2 Original line number Original line Diff line number Diff line Loading @@ -221,11 +221,13 @@ static void local_socket_close_locked(asocket *s) if(s->peer) { if(s->peer) { s->peer->peer = 0; s->peer->peer = 0; // tweak to avoid deadlock // tweak to avoid deadlock if (s->peer->close == local_socket_close) if (s->peer->close == local_socket_close) { local_socket_close_locked(s->peer); local_socket_close_locked(s->peer); else } else { s->peer->close(s->peer); s->peer->close(s->peer); } } s->peer = 0; } /* If we are already closing, or if there are no /* If we are already closing, or if there are no ** pending packets, destroy immediately ** pending packets, destroy immediately Loading Loading @@ -782,6 +784,7 @@ static void smart_socket_close(asocket *s) if(s->peer) { if(s->peer) { s->peer->peer = 0; s->peer->peer = 0; s->peer->close(s->peer); s->peer->close(s->peer); s->peer = 0; } } free(s); free(s); } } Loading Loading
adb/sockets.c +5 −2 Original line number Original line Diff line number Diff line Loading @@ -221,11 +221,13 @@ static void local_socket_close_locked(asocket *s) if(s->peer) { if(s->peer) { s->peer->peer = 0; s->peer->peer = 0; // tweak to avoid deadlock // tweak to avoid deadlock if (s->peer->close == local_socket_close) if (s->peer->close == local_socket_close) { local_socket_close_locked(s->peer); local_socket_close_locked(s->peer); else } else { s->peer->close(s->peer); s->peer->close(s->peer); } } s->peer = 0; } /* If we are already closing, or if there are no /* If we are already closing, or if there are no ** pending packets, destroy immediately ** pending packets, destroy immediately Loading Loading @@ -782,6 +784,7 @@ static void smart_socket_close(asocket *s) if(s->peer) { if(s->peer) { s->peer->peer = 0; s->peer->peer = 0; s->peer->close(s->peer); s->peer->close(s->peer); s->peer = 0; } } free(s); free(s); } } Loading