changeset 14533:39b9c1c5f2eb

8254967: com.sun.net.HttpsServer spins on TLS session close Reviewed-by: dfuchs
author mdoerr
date Fri, 13 Aug 2021 10:17:48 +0800
parents bb533a765f06
children 61729ad5f50e
files src/share/classes/sun/net/httpserver/SSLStreams.java
diffstat 1 files changed, 6 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/classes/sun/net/httpserver/SSLStreams.java	Wed Aug 11 19:01:23 2021 +0000
+++ b/src/share/classes/sun/net/httpserver/SSLStreams.java	Fri Aug 13 10:17:48 2021 +0800
@@ -430,11 +430,16 @@
             handshaking.lock();
             ByteBuffer tmp = allocate(BufType.APPLICATION);
             WrapperResult r;
+            Status st;
+            HandshakeStatus hs;
             do {
                 tmp.clear();
                 tmp.flip ();
                 r = wrapper.wrapAndSendX (tmp, true);
-            } while (r.result.getStatus() != Status.CLOSED);
+                hs = r.result.getHandshakeStatus();
+                st = r.result.getStatus();
+            } while (st != Status.CLOSED &&
+                        !(st == Status.OK && hs == HandshakeStatus.NOT_HANDSHAKING));
         } finally {
             handshaking.unlock();
         }