--- a/src/java.base/share/classes/sun/security/ssl/DTLSOutputRecord.java Fri Apr 05 11:17:09 2019 -0700
+++ b/src/java.base/share/classes/sun/security/ssl/DTLSOutputRecord.java Fri Apr 05 11:28:23 2019 -0700
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1996, 2018, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1996, 2019, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
@@ -58,13 +58,18 @@
}
@Override
- public synchronized void close() throws IOException {
- if (!isClosed) {
- if (fragmenter != null && fragmenter.hasAlert()) {
- isCloseWaiting = true;
- } else {
- super.close();
+ public void close() throws IOException {
+ recordLock.lock();
+ try {
+ if (!isClosed) {
+ if (fragmenter != null && fragmenter.hasAlert()) {
+ isCloseWaiting = true;
+ } else {
+ super.close();
+ }
}
+ } finally {
+ recordLock.unlock();
}
}