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

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

Change-Id: I287d2d1a5460a3694ea51d2588219efb0b2f76fb
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:30:42 +00:00
committed by Automerger Merge Worker

View File

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