diff -r 000138a6a4b3 -r 56b96d234f26 src/jdk.attach/solaris/classes/sun/tools/attach/VirtualMachineImpl.java --- a/src/jdk.attach/solaris/classes/sun/tools/attach/VirtualMachineImpl.java Mon Jul 15 03:14:28 2019 +0000 +++ b/src/jdk.attach/solaris/classes/sun/tools/attach/VirtualMachineImpl.java Tue Jul 16 13:57:13 2019 +0200 @@ -204,8 +204,12 @@ return VirtualMachineImpl.read(s, bs, off, len); } - public void close() throws IOException { - VirtualMachineImpl.close(s); + public synchronized void close() throws IOException { + if (s != -1) { + int toClose = s; + s = -1; + VirtualMachineImpl.close(toClose); + } } }