2223e6a9f8
We start minadbd and rescue services in two processes. In particular, minadbd handles the requests from host, then communicates with rescue service to do install/wipe works. When resuce service doesn't see any request in a pre-defined timeout (currently 300s), rescue service will exit to avoid endless waiting. This CL changes minadbd to additionally send a no-op command to rescue service as a heartbeat signal, so that host side can finish time-consuming operations (e.g. downloading over network) while keeping rescue service alive. Bug: 136457446 Test: Enter resuce mode on blueline. Send `adb rescue getprop ro.build.fingerprint` and check that rescue service doesn't exit. Test: Stop sending the getprop command. Check that rescue service exits after 300s. Change-Id: Ib9d5ed710cfa94ecfe6cf393a71a0b67b2539531 |
||
---|---|---|
.. | ||
Android.bp | ||
AndroidTest.xml | ||
fuse_adb_provider.cpp | ||
fuse_adb_provider.h | ||
fuse_adb_provider_test.cpp | ||
minadbd.cpp | ||
minadbd_services.cpp | ||
minadbd_services.h | ||
minadbd_services_test.cpp | ||
minadbd_types.h | ||
README.md |
minadbd is now mostly built from libadbd. The fuse features are unique to minadbd, and services.c has been modified as follows:
- all services removed
- all host mode support removed
sideload_service()
added; this is the only service supported. It receives a single blob of data, writes it to a fixed filename, and makes the process exit.