Merge "Close DirectoryStream in ActivityThread after use." am: f7da9fd026 am: 6fe40cf6d6

Original change: https://android-review.googlesource.com/c/platform/frameworks/base/+/2509995

Change-Id: Ifd195dcb233190eb9ce34db7e7a9a51c446511ec
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
This commit is contained in:
Treehugger Robot
2023-03-28 15:26:11 +00:00
committed by Automerger Merge Worker

View File

@@ -241,6 +241,7 @@ import java.io.PrintWriter;
import java.lang.ref.WeakReference; import java.lang.ref.WeakReference;
import java.lang.reflect.Method; import java.lang.reflect.Method;
import java.net.InetAddress; import java.net.InetAddress;
import java.nio.file.DirectoryStream;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import java.nio.file.StandardCopyOption; import java.nio.file.StandardCopyOption;
@@ -4224,18 +4225,20 @@ public final class ActivityThread extends ClientTransactionHandler
static void handleAttachStartupAgents(String dataDir) { static void handleAttachStartupAgents(String dataDir) {
try { try {
Path code_cache = ContextImpl.getCodeCacheDirBeforeBind(new File(dataDir)).toPath(); Path codeCache = ContextImpl.getCodeCacheDirBeforeBind(new File(dataDir)).toPath();
if (!Files.exists(code_cache)) { if (!Files.exists(codeCache)) {
return; return;
} }
Path startup_path = code_cache.resolve("startup_agents"); Path startupPath = codeCache.resolve("startup_agents");
if (Files.exists(startup_path)) { if (Files.exists(startupPath)) {
for (Path p : Files.newDirectoryStream(startup_path)) { try (DirectoryStream<Path> startupFiles = Files.newDirectoryStream(startupPath)) {
handleAttachAgent( for (Path p : startupFiles) {
p.toAbsolutePath().toString() handleAttachAgent(
+ "=" p.toAbsolutePath().toString()
+ dataDir, + "="
null); + dataDir,
null);
}
} }
} }
} catch (Exception e) { } catch (Exception e) {