From 661327e8e40f95076e0e8abe86193da16b061bd8 Mon Sep 17 00:00:00 2001 From: Yabin Cui Date: Tue, 11 Aug 2015 13:40:42 -0700 Subject: [PATCH] Remove confusing variable HOST. First, HOST is always 0 in adbd, which matches ADB_HOST=0. Second, HOST is always 1 when adb_main is called, which matches ADB_HOST=1. For adb client that doesn't call adb_main, it never touches local_init(), init_transport_registration() and fdevent_loop(). So the changes in adb.cpp, services.cpp and transport_local.cpp do nothing with it. As a conclusion, I think we can remove HOST and use ADB_HOST instead. Change-Id: Ide0e0eca7468b6c3c130f6b50974406280678b2e --- adb/adb.cpp | 14 ++++++---- adb/adb.h | 1 - adb/client/main.cpp | 2 -- adb/services.cpp | 4 +-- adb/transport_local.cpp | 61 +++++++++++++++++++---------------------- adb/transport_usb.cpp | 6 ---- 6 files changed, 39 insertions(+), 49 deletions(-) diff --git a/adb/adb.cpp b/adb/adb.cpp index 821b785df..1f538c090 100644 --- a/adb/adb.cpp +++ b/adb/adb.cpp @@ -55,8 +55,6 @@ ADB_MUTEX_DEFINE(D_lock); -int HOST = 0; - #if !ADB_HOST const char* adb_device_banner = "device"; static android::base::LogdLogger gLogdLogger; @@ -416,7 +414,9 @@ void handle_packet(apacket *p, atransport *t) case A_SYNC: if(p->msg.arg0){ send_packet(p, t); - if(HOST) send_connect(t); +#if ADB_HOST + send_connect(t); +#endif } else { t->connection_state = kCsOffline; handle_offline(t); @@ -433,12 +433,16 @@ void handle_packet(apacket *p, atransport *t) t->update_version(p->msg.arg0, p->msg.arg1); parse_banner(reinterpret_cast(p->data), t); - if (HOST || !auth_required) { +#if ADB_HOST + handle_online(t); +#else + if (!auth_required) { handle_online(t); - if (!HOST) send_connect(t); + send_connect(t); } else { send_auth_request(t); } +#endif break; case A_AUTH: diff --git a/adb/adb.h b/adb/adb.h index b0e53f026..906ec2cf6 100644 --- a/adb/adb.h +++ b/adb/adb.h @@ -379,7 +379,6 @@ int adb_commandline(int argc, const char **argv); ConnectionState connection_state(atransport *t); extern const char *adb_device_banner; -extern int HOST; #if !ADB_HOST extern int SHELL_EXIT_NOTIFY_FD; #endif // !ADB_HOST diff --git a/adb/client/main.cpp b/adb/client/main.cpp index 73acbb0b8..60b487c64 100644 --- a/adb/client/main.cpp +++ b/adb/client/main.cpp @@ -133,8 +133,6 @@ static void setup_daemon_logging(void) { } int adb_main(int is_daemon, int server_port, int ack_reply_fd) { - HOST = 1; - #if defined(_WIN32) SetConsoleCtrlHandler(ctrlc_handler, TRUE); #else diff --git a/adb/services.cpp b/adb/services.cpp index 63a0a76fe..68545d8bd 100644 --- a/adb/services.cpp +++ b/adb/services.cpp @@ -465,9 +465,9 @@ int service_to_fd(const char *name) ret = create_service_thread(framebuffer_service, 0); } else if (!strncmp(name, "jdwp:", 5)) { ret = create_jdwp_connection_fd(atoi(name+5)); - } else if(!HOST && !strncmp(name, "shell:", 6)) { + } else if(!strncmp(name, "shell:", 6)) { ret = create_subproc_thread(name + 6, true); - } else if(!HOST && !strncmp(name, "exec:", 5)) { + } else if(!strncmp(name, "exec:", 5)) { ret = create_subproc_thread(name + 5); } else if(!strncmp(name, "sync:", 5)) { ret = create_service_thread(file_sync_service, NULL); diff --git a/adb/transport_local.cpp b/adb/transport_local.cpp index 650e5eab9..6a174973a 100644 --- a/adb/transport_local.cpp +++ b/adb/transport_local.cpp @@ -120,10 +120,9 @@ int local_connect_arbitrary_ports(int console_port, int adb_port, std::string* e return -1; } - +#if ADB_HOST static void *client_socket_thread(void *x) { -#if ADB_HOST D("transport: client_socket_thread() starting\n"); while (true) { int port = DEFAULT_ADB_LOCAL_TRANSPORT_PORT; @@ -135,10 +134,11 @@ static void *client_socket_thread(void *x) } sleep(1); } -#endif return 0; } +#else // ADB_HOST + static void *server_socket_thread(void * arg) { int serverfd, fd; @@ -175,7 +175,6 @@ static void *server_socket_thread(void * arg) } /* This is relevant only for ADB daemon running inside the emulator. */ -#if !ADB_HOST /* * Redefine open and write for qemu_pipe.h that contains inlined references * to those routines. We will redifine them back after qemu_pipe.h inclusion. @@ -287,31 +286,29 @@ static const char _ok_resp[] = "ok"; void local_init(int port) { void* (*func)(void *); + const char* debug_name = ""; - if(HOST) { - func = client_socket_thread; - } else { #if ADB_HOST - func = server_socket_thread; + func = client_socket_thread; + debug_name = "client"; #else - /* For the adbd daemon in the system image we need to distinguish - * between the device, and the emulator. */ - char is_qemu[PROPERTY_VALUE_MAX]; - property_get("ro.kernel.qemu", is_qemu, ""); - if (!strcmp(is_qemu, "1")) { - /* Running inside the emulator: use QEMUD pipe as the transport. */ - func = qemu_socket_thread; - } else { - /* Running inside the device: use TCP socket as the transport. */ - func = server_socket_thread; - } -#endif // !ADB_HOST + /* For the adbd daemon in the system image we need to distinguish + * between the device, and the emulator. */ + char is_qemu[PROPERTY_VALUE_MAX]; + property_get("ro.kernel.qemu", is_qemu, ""); + if (!strcmp(is_qemu, "1")) { + /* Running inside the emulator: use QEMUD pipe as the transport. */ + func = qemu_socket_thread; + } else { + /* Running inside the device: use TCP socket as the transport. */ + func = server_socket_thread; } + debug_name = "server"; +#endif // !ADB_HOST - D("transport: local %s init\n", HOST ? "client" : "server"); - + D("transport: local %s init\n", debug_name); if (!adb_thread_create(func, (void *) (uintptr_t) port)) { - fatal_errno("cannot create local socket %s thread", HOST ? "client" : "server"); + fatal_errno("cannot create local socket %s thread", debug_name); } } @@ -323,17 +320,15 @@ static void remote_kick(atransport *t) adb_close(fd); #if ADB_HOST - if(HOST) { - int nn; - adb_mutex_lock( &local_transports_lock ); - for (nn = 0; nn < ADB_LOCAL_TRANSPORT_MAX; nn++) { - if (local_transports[nn] == t) { - local_transports[nn] = NULL; - break; - } + int nn; + adb_mutex_lock( &local_transports_lock ); + for (nn = 0; nn < ADB_LOCAL_TRANSPORT_MAX; nn++) { + if (local_transports[nn] == t) { + local_transports[nn] = NULL; + break; } - adb_mutex_unlock( &local_transports_lock ); } + adb_mutex_unlock( &local_transports_lock ); #endif } @@ -404,7 +399,7 @@ int init_socket_transport(atransport *t, int s, int adb_port, int local) t->adb_port = 0; #if ADB_HOST - if (HOST && local) { + if (local) { adb_mutex_lock( &local_transports_lock ); { t->adb_port = adb_port; diff --git a/adb/transport_usb.cpp b/adb/transport_usb.cpp index 2c975a9a7..96ccdad23 100644 --- a/adb/transport_usb.cpp +++ b/adb/transport_usb.cpp @@ -91,12 +91,6 @@ void init_usb_transport(atransport *t, usb_handle *h, ConnectionState state) t->connection_state = state; t->type = kTransportUsb; t->usb = h; - -#if ADB_HOST - HOST = 1; -#else - HOST = 0; -#endif } #if ADB_HOST