diff --git a/src/java.base/share/classes/sun/nio/ch/FileChannelImpl.java b/src/java.base/share/classes/sun/nio/ch/FileChannelImpl.java index 7f37ad36452..a1ddcad94f5 100644 --- a/src/java.base/share/classes/sun/nio/ch/FileChannelImpl.java +++ b/src/java.base/share/classes/sun/nio/ch/FileChannelImpl.java @@ -178,7 +178,11 @@ private void beginBlocking() { } private void endBlocking(boolean completed) throws AsynchronousCloseException { - if (!uninterruptible) end(completed); + if (!uninterruptible) { + end(completed); + } else if (!completed && !isOpen()) { + throw new AsynchronousCloseException(); + } } // -- Standard channel operations --