Fix Filter callback race condition
Bug: 225107597 Test: stress test Test: atest android.media.tv.tuner.cts Change-Id: I064095338009cdda8fc03780001b0b0534da4508
This commit is contained in:
@@ -560,6 +560,11 @@ public class Filter implements AutoCloseable {
|
||||
*/
|
||||
@Override
|
||||
public void close() {
|
||||
synchronized (mCallbackLock) {
|
||||
mCallback = null;
|
||||
mExecutor = null;
|
||||
}
|
||||
|
||||
synchronized (mLock) {
|
||||
if (mIsClosed) {
|
||||
return;
|
||||
@@ -568,8 +573,6 @@ public class Filter implements AutoCloseable {
|
||||
if (res != Tuner.RESULT_SUCCESS) {
|
||||
TunerUtils.throwExceptionForResult(res, "Failed to close filter.");
|
||||
} else {
|
||||
mCallback = null;
|
||||
mExecutor = null;
|
||||
mIsStarted = false;
|
||||
mIsClosed = true;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user