Merge "Fix Filter callback race condition" into tm-dev am: e8d0d4fd90
Original change: https://googleplex-android-review.googlesource.com/c/platform/frameworks/base/+/17693177 Change-Id: I0dde211d020b360fd9b414356561939429aa65cf Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
@@ -560,6 +560,11 @@ public class Filter implements AutoCloseable {
|
|||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void close() {
|
public void close() {
|
||||||
|
synchronized (mCallbackLock) {
|
||||||
|
mCallback = null;
|
||||||
|
mExecutor = null;
|
||||||
|
}
|
||||||
|
|
||||||
synchronized (mLock) {
|
synchronized (mLock) {
|
||||||
if (mIsClosed) {
|
if (mIsClosed) {
|
||||||
return;
|
return;
|
||||||
@@ -568,8 +573,6 @@ public class Filter implements AutoCloseable {
|
|||||||
if (res != Tuner.RESULT_SUCCESS) {
|
if (res != Tuner.RESULT_SUCCESS) {
|
||||||
TunerUtils.throwExceptionForResult(res, "Failed to close filter.");
|
TunerUtils.throwExceptionForResult(res, "Failed to close filter.");
|
||||||
} else {
|
} else {
|
||||||
mCallback = null;
|
|
||||||
mExecutor = null;
|
|
||||||
mIsStarted = false;
|
mIsStarted = false;
|
||||||
mIsClosed = true;
|
mIsClosed = true;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user