summaryrefslogtreecommitdiff
authorJinping Wang <jinping.wang@amlogic.com>2017-11-10 06:20:28 (GMT)
committer Jinping Wang <jinping.wang@amlogic.com>2017-11-24 05:45:57 (GMT)
commit3e22c2dfe6ed462785b301b85f87787dfba404d7 (patch)
treef9d45fcd859d2bbd94cfa910f8fba104b8b4a5d5
parent715ed80d78d47e6222afd5078a976d6a2eba03b4 (diff)
downloadframeworks-3e22c2dfe6ed462785b301b85f87787dfba404d7.zip
frameworks-3e22c2dfe6ed462785b301b85f87787dfba404d7.tar.gz
frameworks-3e22c2dfe6ed462785b301b85f87787dfba404d7.tar.bz2
cec: use tryGetService to return immediately [1/1]
PD# 154258 use tryGetService to return immediately instead of get Service in case of hdmicecd not prepare Change-Id: I71f91eac428a55604da196d00271d8d9e75264e8
Diffstat
-rw-r--r--services/hdmicec/binder/HdmiCecHidlClient.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/services/hdmicec/binder/HdmiCecHidlClient.cpp b/services/hdmicec/binder/HdmiCecHidlClient.cpp
index e3a94f0..51f3f93 100644
--- a/services/hdmicec/binder/HdmiCecHidlClient.cpp
+++ b/services/hdmicec/binder/HdmiCecHidlClient.cpp
@@ -234,8 +234,12 @@ sp<IDroidHdmiCEC> HdmiCecHidlClient::getHdmiCecService()
Mutex::Autolock _l(mLock);
#if 1//PLATFORM_SDK_VERSION >= 26
- sp<IDroidHdmiCEC> hdmicec = IDroidHdmiCEC::getService();
-
+ sp<IDroidHdmiCEC> hdmicec = IDroidHdmiCEC::tryGetService();
+ while (hdmicec == nullptr) {
+ usleep(200*1000);//sleep 200ms
+ hdmicec = IDroidHdmiCEC::tryGetService();
+ ALOGE("tryGet hdmicecd daemon Service");
+ };
mDeathRecipient = new HdmiCecDaemonDeathRecipient(this);
Return<bool> linked = hdmicec->linkToDeath(mDeathRecipient, /*cookie*/ 0);
if (!linked.isOk()) {