summaryrefslogtreecommitdiff
path: root/services.cpp
diff options
context:
space:
mode:
authorYabin Cui <yabinc@google.com>2016-04-16 01:50:54 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2016-04-16 01:50:54 +0000
commit783902c78d97a4659402ee9a523a8e375a01bc5f (patch)
treebc5248f05580a675443acb964ec3b9287113d2ec /services.cpp
parentb45efce8cc60c8e221884a50987a9d369f0bddd5 (diff)
parent751cce74838d18cca1c90727709e74f711a4c7aa (diff)
downloadadb-783902c78d97a4659402ee9a523a8e375a01bc5f.tar.gz
Merge "adb: add reconnect command."
Diffstat (limited to 'services.cpp')
-rw-r--r--services.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/services.cpp b/services.cpp
index 67e8e41..3b212e9 100644
--- a/services.cpp
+++ b/services.cpp
@@ -184,6 +184,13 @@ void reboot_service(int fd, void* arg)
adb_close(fd);
}
+static void reconnect_service(int fd, void* arg) {
+ WriteFdExactly(fd, "done");
+ adb_close(fd);
+ atransport* t = static_cast<atransport*>(arg);
+ kick_transport(t);
+}
+
int reverse_service(const char* command) {
int s[2];
if (adb_socketpair(s)) {
@@ -345,6 +352,8 @@ int service_to_fd(const char* name, const atransport* transport) {
ret = create_service_thread(set_verity_enabled_state_service, (void*)0);
} else if(!strncmp(name, "enable-verity:", 15)) {
ret = create_service_thread(set_verity_enabled_state_service, (void*)1);
+ } else if (!strcmp(name, "reconnect")) {
+ ret = create_service_thread(reconnect_service, const_cast<atransport*>(transport));
#endif
}
if (ret >= 0) {