--- a/src/java.base/share/classes/sun/security/ssl/TransportContext.java Mon Jun 11 20:45:47 2018 -0700
+++ b/src/java.base/share/classes/sun/security/ssl/TransportContext.java Tue Jun 12 22:15:10 2018 -0700
@@ -425,16 +425,23 @@
isUnsureMode = false;
}
+ // The OutputRecord is closed and not buffered output record.
boolean isOutboundDone() {
return outputRecord.isClosed() && outputRecord.isEmpty();
}
+ // The OutputRecord is closed, but buffered output record may be still
+ // waiting for delivery to the underlying connection.
+ boolean isOutboundClosed() {
+ return outputRecord.isClosed();
+ }
+
boolean isInboundDone() {
return inputRecord.isClosed();
}
boolean isClosed() {
- return isOutboundDone() && isInboundDone();
+ return isOutboundClosed() && isInboundDone();
}
@Override