diff --git a/adb/transport.cpp b/adb/transport.cpp index 92c52e23c..f5f6d2670 100644 --- a/adb/transport.cpp +++ b/adb/transport.cpp @@ -974,7 +974,7 @@ int register_socket_transport(int s, const char* serial, int port, int local) { VLOG(TRANSPORT) << "socket transport " << transport->serial << " is already in pending_list and fails to register"; delete t; - return -1; + return -EALREADY; } } @@ -983,7 +983,7 @@ int register_socket_transport(int s, const char* serial, int port, int local) { VLOG(TRANSPORT) << "socket transport " << transport->serial << " is already in transport_list and fails to register"; delete t; - return -1; + return -EALREADY; } } diff --git a/adb/transport_local.cpp b/adb/transport_local.cpp index c09fcb76d..8032421b1 100644 --- a/adb/transport_local.cpp +++ b/adb/transport_local.cpp @@ -101,7 +101,11 @@ void connect_device(const std::string& address, std::string* response) { int ret = register_socket_transport(fd, serial.c_str(), port, 0); if (ret < 0) { adb_close(fd); - *response = android::base::StringPrintf("already connected to %s", serial.c_str()); + if (ret == -EALREADY) { + *response = android::base::StringPrintf("already connected to %s", serial.c_str()); + } else { + *response = android::base::StringPrintf("failed to connect to %s", serial.c_str()); + } } else { *response = android::base::StringPrintf("connected to %s", serial.c_str()); }