commit | 64ba3d79879ac8bb406f29ef1a7a52a67d2b8f65 | [log] [tgz] |
---|---|---|
author | Yifan Hong <elsk@google.com> | Wed Mar 15 11:00:28 2017 -0700 |
committer | Yifan Hong <elsk@google.com> | Thu Mar 16 14:16:11 2017 -0700 |
tree | 3e74b4944578a0a86bc9121573aaec85ec4d999b | |
parent | e51ae7f0606724ca9a3401da486fb344450371d2 [diff] |
getService should retry if getting nullptr for transport == hwbinder / toggled only. If a service is dead but hwservicemanager has not receive the death notification yet, getService retrieved the service, called interfaceChain() into it, failed, and returned nullptr. With this change, getService retries until it gets an alive service from hwservicemanager. For transport == passthrough, the logic is not touched. Refactored getService so that the code is easier to read. Bug: 36153684 Test: killing system_server on the phone, logging shows that getService actually retries, and audio still works without the workaround. Change-Id: Ib380d3f6665d7b3ff0cfb77c16f5b09f20003c00
croot make hidl-gen
hidl-gen -o output-path -L language (-r interface-root) fqname output-path: directory to store the output files. language: output file for given language. e.g.c++, vts.. fqname: fully qualified name of the input files. For singe file input, follow the format: package@version::fileName For directory input, follow the format: package@version interface-root(optional): prefix and root path for fqname. If not set, use the default prefix: android.hardware and default root path defined in $TOP. examples: croot hidl-gen -o output -L c++ -r android.hardware:hardware/interfaces -r android.hidl:system/libhidl/transport android.hardware.nfc@1.0::INfc.hal hidl-gen -o output -L vts -r android.hardware:hardware/interfaces -r android.hidl:system/libhidl/transport android.hardware.nfc@1.0 hidl-gen -o test -L c++ -r android.hardware:hardware/interfaces -r android.hidl:system/libhidl/transport android.hardware.nfc@1.0