Merge "Wait until old ComposerClient is fully destroyed before recreating" into qt-dev am: d93c9f0c2d

am: 5cb7cc40a7

Change-Id: Icee6b0fb3599a6c32d039daa0d18deb719db443e
This commit is contained in:
Valerie Hau 2019-06-21 15:29:04 -07:00 committed by android-build-merger
commit 9c2e7c1cd2

View file

@ -109,12 +109,10 @@ class ComposerImpl : public Interface {
// inverted (create and then destroy). Wait for a brief period to
// see if the existing client is destroyed.
ALOGD("waiting for previous client to be destroyed");
mClientDestroyedCondition.wait_for(
lock, 1s, [this]() -> bool { return mClient.promote() == nullptr; });
if (mClient.promote() != nullptr) {
mClientDestroyedCondition.wait_for(lock, 1s,
[this]() -> bool { return mClient == nullptr; });
if (mClient != nullptr) {
ALOGD("previous client was not destroyed");
} else {
mClient.clear();
}
}