diff --git a/services/core/java/com/android/server/resources/ResourcesManagerShellCommand.java b/services/core/java/com/android/server/resources/ResourcesManagerShellCommand.java index 7d8336a0d3e95..a75d110e3cd12 100644 --- a/services/core/java/com/android/server/resources/ResourcesManagerShellCommand.java +++ b/services/core/java/com/android/server/resources/ResourcesManagerShellCommand.java @@ -62,13 +62,12 @@ public class ResourcesManagerShellCommand extends ShellCommand { private int dumpResources() throws RemoteException { String processId = getNextArgRequired(); - try { + try (ParcelFileDescriptor pfd = ParcelFileDescriptor.dup(getOutFileDescriptor())) { ConditionVariable lock = new ConditionVariable(); RemoteCallback finishCallback = new RemoteCallback(result -> lock.open(), null); - if (!mInterface.dumpResources(processId, - ParcelFileDescriptor.dup(getOutFileDescriptor()), finishCallback)) { + if (!mInterface.dumpResources(processId, pfd, finishCallback)) { getErrPrintWriter().println("RESOURCES DUMP FAILED on process " + processId); return -1; }