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

am: d93c9f0c2d

Change-Id: I3bda1337b6c3fdea3c555f3887aa9a88dc04620c
This commit is contained in:
Valerie Hau
2019-06-21 15:20:16 -07:00
committed by android-build-merger

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();
}
}