diff options
author | Sudheer Shanka <sudheersai@google.com> | 2020-03-15 15:25:33 -0700 |
---|---|---|
committer | Sudheer Shanka <sudheersai@google.com> | 2020-03-18 21:12:01 -0700 |
commit | 09deac5816c61e0c7e441f9349f87dd24e79e029 (patch) | |
tree | dbb2d0ec3348229e26d7a3fe5ad3888a4f546547 /apex/blobstore | |
parent | 03b8a41461b7cf7b4b65817259b7a9587041f7d6 (diff) |
Dump no. of open fds correctly.
Fixes: 151378533
Test: atest --test-mapping apex/blobstore
Change-Id: Ib52352ffd3334734122a62ab33c75ddbdda0aa81
Diffstat (limited to 'apex/blobstore')
-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 970766d2c8a6..cd6798f83610 100644 --- a/apex/blobstore/service/java/com/android/server/blob/BlobMetadata.java +++ b/apex/blobstore/service/java/com/android/server/blob/BlobMetadata.java @@ -326,6 +326,9 @@ class BlobMetadata { mRevocableFds.get(callingPackage); if (revocableFdsForPkg != null) { revocableFdsForPkg.remove(revocableFd); + if (revocableFdsForPkg.isEmpty()) { + mRevocableFds.remove(callingPackage); + } } } }); @@ -340,27 +343,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 { |