Merge changes Ia59c6dbe,I13b17bcd
am: 0b47d08303

Change-Id: Ica4c5de30e12f6950f0a9f3a2dc94213ef2fe70a
diff --git a/adb/shell_service.cpp b/adb/shell_service.cpp
index 10b2502..d83622c 100644
--- a/adb/shell_service.cpp
+++ b/adb/shell_service.cpp
@@ -155,7 +155,7 @@
 
     const std::string& command() const { return command_; }
 
-    int local_socket_fd() const { return local_socket_sfd_; }
+    int ReleaseLocalSocket() { return local_socket_sfd_.release(); }
 
     pid_t pid() const { return pid_; }
 
@@ -449,7 +449,7 @@
     Subprocess* subprocess = reinterpret_cast<Subprocess*>(userdata);
 
     adb_thread_setname(android::base::StringPrintf(
-            "shell srvc %d", subprocess->local_socket_fd()));
+            "shell srvc %d", subprocess->pid()));
 
     D("passing data streams for PID %d", subprocess->pid());
     subprocess->PassDataStreams();
@@ -756,7 +756,7 @@
         return ReportError(protocol, error);
     }
 
-    unique_fd local_socket(dup(subprocess->local_socket_fd()));
+    unique_fd local_socket(subprocess->ReleaseLocalSocket());
     D("subprocess creation successful: local_socket_fd=%d, pid=%d", local_socket.get(),
       subprocess->pid());