Merge "Eliminate race condition around backup completion + resumption" into lmp-dev

This commit is contained in:
Christopher Tate
2014-10-16 21:26:25 +00:00
committed by Android (Google) Code Review

View File

@@ -2855,9 +2855,12 @@ public class BackupManagerService extends IBackupManager.Stub {
try { if (mSavedState != null) mSavedState.close(); } catch (IOException e) {} try { if (mSavedState != null) mSavedState.close(); } catch (IOException e) {}
try { if (mBackupData != null) mBackupData.close(); } catch (IOException e) {} try { if (mBackupData != null) mBackupData.close(); } catch (IOException e) {}
try { if (mNewState != null) mNewState.close(); } catch (IOException e) {} try { if (mNewState != null) mNewState.close(); } catch (IOException e) {}
mSavedState = mBackupData = mNewState = null;
synchronized (mCurrentOpLock) { synchronized (mCurrentOpLock) {
// Current-operation callback handling requires the validity of these various
// bits of internal state as an invariant of the operation still being live.
// This means we make sure to clear all of the state in unison inside the lock.
mCurrentOperations.clear(); mCurrentOperations.clear();
mSavedState = mBackupData = mNewState = null;
} }
// If this was a pseudopackage there's no associated Activity Manager state // If this was a pseudopackage there's no associated Activity Manager state