diff options
| author | 2024-12-16 15:31:52 +0800 | |
|---|---|---|
| committer | 2024-12-16 16:38:11 +0800 | |
| commit | 35896935a6839b449f2b2b8c13e2b1735e7618ab (patch) | |
| tree | 1dbed1841d63e8bf6fc954ac46d8c1d6dc95c626 | |
| parent | 2daef7f6cf3ab06149a0fd6aa63b06554c9c4e60 (diff) | |
PowerStatsLogger: ensure the opend stream is closed when IOException happen.
Bug: none
Flag: EXEMPT minor optimization
Change-Id: Ic035870b886ac13a6c8c38ad484eec2840cc3165
| -rw-r--r-- | services/core/java/com/android/server/powerstats/PowerStatsLogger.java | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/services/core/java/com/android/server/powerstats/PowerStatsLogger.java b/services/core/java/com/android/server/powerstats/PowerStatsLogger.java index e80a86d73f90..4fd026a6dc52 100644 --- a/services/core/java/com/android/server/powerstats/PowerStatsLogger.java +++ b/services/core/java/com/android/server/powerstats/PowerStatsLogger.java @@ -285,14 +285,20 @@ public final class PowerStatsLogger extends Handler { } private void updateCacheFile(String cacheFilename, byte[] data) { + AtomicFile atomicCachedFile = null; + FileOutputStream fos = null; try { - final AtomicFile atomicCachedFile = + atomicCachedFile = new AtomicFile(new File(mDataStoragePath, cacheFilename)); - final FileOutputStream fos = atomicCachedFile.startWrite(); + fos = atomicCachedFile.startWrite(); fos.write(data); atomicCachedFile.finishWrite(fos); } catch (IOException e) { Slog.e(TAG, "Failed to write current data to cached file", e); + if (fos != null) { + atomicCachedFile.failWrite(fos); + } + return; } } |