diff options
author | Sudheer Shanka <sudheersai@google.com> | 2020-03-19 19:25:19 +0000 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2020-03-19 19:25:19 +0000 |
commit | b63e5b27a02679604b98bc8e69d1bf9cfa4a6ec4 (patch) | |
tree | 0379a278deeeba5e87e797fdb880adb1a12f3d8b /apex/blobstore/service | |
parent | 368dddb0a48b6847137c0f27252ff64548877b3f (diff) | |
parent | 09deac5816c61e0c7e441f9349f87dd24e79e029 (diff) |
Merge "Dump no. of open fds correctly." into rvc-dev
Diffstat (limited to 'apex/blobstore/service')
-rw-r--r-- | apex/blobstore/service/java/com/android/server/blob/BlobMetadata.java | 49 |
1 files changed, 36 insertions, 13 deletions
diff --git a/apex/blobstore/service/java/com/android/server/blob/BlobMetadata.java b/apex/blobstore/service/java/com/android/server/blob/BlobMetadata.java index 8b640ca75698..4a1c63e1e264 100644 --- a/apex/blobstore/service/java/com/android/server/blob/BlobMetadata.java +++ b/apex/blobstore/service/java/com/android/server/blob/BlobMetadata.java @@ -346,6 +346,9 @@ class BlobMetadata { mRevocableFds.get(callingPackage); if (revocableFdsForPkg != null) { revocableFdsForPkg.remove(revocableFd); + if (revocableFdsForPkg.isEmpty()) { + mRevocableFds.remove(callingPackage); + } } } }); @@ -360,27 +363,47 @@ class BlobMetadata { fout.println("Committers:"); fout.increaseIndent(); - for (int i = 0, count = mCommitters.size(); i < count; ++i) { - final Committer committer = mCommitters.valueAt(i); - fout.println("committer " + committer.toString()); - fout.increaseIndent(); - committer.dump(fout); - fout.decreaseIndent(); + if (mCommitters.isEmpty()) { + fout.println("<empty>"); + } else { + for (int i = 0, count = mCommitters.size(); i < count; ++i) { + final Committer committer = mCommitters.valueAt(i); + fout.println("committer " + committer.toString()); + fout.increaseIndent(); + committer.dump(fout); + fout.decreaseIndent(); + } } fout.decreaseIndent(); fout.println("Leasees:"); fout.increaseIndent(); - for (int i = 0, count = mLeasees.size(); i < count; ++i) { - final Leasee leasee = mLeasees.valueAt(i); - fout.println("leasee " + leasee.toString()); - fout.increaseIndent(); - leasee.dump(mContext, fout); - fout.decreaseIndent(); + if (mLeasees.isEmpty()) { + fout.println("<empty>"); + } else { + for (int i = 0, count = mLeasees.size(); i < count; ++i) { + final Leasee leasee = mLeasees.valueAt(i); + fout.println("leasee " + leasee.toString()); + fout.increaseIndent(); + leasee.dump(mContext, fout); + fout.decreaseIndent(); + } } fout.decreaseIndent(); - fout.println("Open fds: #" + mRevocableFds.size()); + fout.println("Open fds:"); + fout.increaseIndent(); + if (mRevocableFds.isEmpty()) { + fout.println("<empty>"); + } else { + for (int i = 0, count = mRevocableFds.size(); i < count; ++i) { + final String packageName = mRevocableFds.keyAt(i); + final ArraySet<RevocableFileDescriptor> packageFds = + mRevocableFds.valueAt(i); + fout.println(packageName + "#" + packageFds.size()); + } + } + fout.decreaseIndent(); } void writeToXml(XmlSerializer out) throws IOException { |