From 192102c35b46521bbe5a900f5a3036a406801af4 Mon Sep 17 00:00:00 2001 From: Josh Gao Date: Fri, 11 Sep 2020 15:31:31 -0700 Subject: [PATCH] fdtrack: GC before checking fd count. Test: treehugger Change-Id: I0f1d59ae4240a24f8b8e4b015c1923acb1140bce --- services/java/com/android/server/SystemServer.java | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java index 4c33ad39a9b88..2b54599ec873f 100644 --- a/services/java/com/android/server/SystemServer.java +++ b/services/java/com/android/server/SystemServer.java @@ -439,6 +439,12 @@ public final class SystemServer { boolean enabled = false; while (true) { int maxFd = getMaxFd(); + if (maxFd > enableThreshold) { + // Do a manual GC to clean up fds that are hanging around as garbage. + System.gc(); + maxFd = getMaxFd(); + } + if (maxFd > enableThreshold && !enabled) { Slog.i("System", "fdtrack enable threshold reached, enabling"); System.loadLibrary("fdtrack");