7065972: Some race condition may happen in SSLSocketImpl class
Reviewed-by: wetmore, weijun, dgu
diff --git a/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java b/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java
index d12eaf1..8990793 100644
--- a/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java
+++ b/jdk/src/share/classes/sun/security/ssl/SSLSocketImpl.java
@@ -2443,11 +2443,12 @@
entrySet, HandshakeCompletedEvent e) {
super("HandshakeCompletedNotify-Thread");
- targets = entrySet;
+ targets = new HashSet<>(entrySet); // clone the entry set
event = e;
}
public void run() {
+ // Don't need to synchronize, as it only runs in one thread.
for (Map.Entry<HandshakeCompletedListener,AccessControlContext>
entry : targets) {