Skip to content

Commit 44d62c8

Browse files
larry-cablekevinjwalls
authored andcommitted
8358077: sun.tools.attach.VirtualMachineImpl::checkCatchesAndSendQuitTo on Linux leaks file handles after JDK-8327114
Reviewed-by: kevinw, sspitsyn, syan
1 parent d7e58ac commit 44d62c8

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

src/jdk.attach/linux/classes/sun/tools/attach/VirtualMachineImpl.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,8 @@
3535
import java.nio.file.Path;
3636
import java.nio.file.Paths;
3737

38+
import java.util.Optional;
39+
3840
import java.util.regex.Pattern;
3941

4042
import static java.nio.charset.StandardCharsets.UTF_8;
@@ -358,7 +360,11 @@ private static boolean checkCatchesAndSendQuitTo(int pid, boolean throwIfNotRead
358360
if (okToSendQuit) {
359361
sendQuitTo(pid);
360362
} else if (throwIfNotReady) {
361-
final var cmdline = Files.lines(procPid.resolve("cmdline")).findFirst();
363+
Optional<String> cmdline = Optional.empty();
364+
365+
try (final var clf = Files.lines(procPid.resolve("cmdline"))) {
366+
cmdline = clf.findFirst();
367+
}
362368

363369
var cmd = "null"; // default
364370

0 commit comments

Comments
 (0)