diff --git a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/platform/ManagedProcess.java b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/platform/ManagedProcess.java index a179a74fe..858d14e9f 100644 --- a/HMCLCore/src/main/java/org/jackhuang/hmcl/util/platform/ManagedProcess.java +++ b/HMCLCore/src/main/java/org/jackhuang/hmcl/util/platform/ManagedProcess.java @@ -113,16 +113,19 @@ public final class ManagedProcess { */ public List getLines(Predicate lineFilter) { lock.lock(); + try { + if (lineFilter == null) + return List.copyOf(lines); - if (lineFilter == null) - return List.copyOf(lines); - - ArrayList res = new ArrayList<>(); - for (String line : this.lines) { - if (lineFilter.test(line)) - res.add(line); + ArrayList res = new ArrayList<>(); + for (String line : this.lines) { + if (lineFilter.test(line)) + res.add(line); + } + return Collections.unmodifiableList(res); + } finally { + lock.unlock(); } - return Collections.unmodifiableList(res); } public void addLine(String line) {