src/java.base/share/classes/java/net/Socket.java
branchniosocketimpl-branch
changeset 57344 8b621b0d921c
parent 57341 733e9746d615
child 57347 16c087c9103e
--- a/src/java.base/share/classes/java/net/Socket.java	Tue Apr 30 11:23:02 2019 +0100
+++ b/src/java.base/share/classes/java/net/Socket.java	Tue Apr 30 19:34:13 2019 +0100
@@ -35,7 +35,6 @@
 import java.security.PrivilegedAction;
 import java.util.Set;
 import java.util.Collections;
-import java.util.concurrent.locks.ReentrantLock;
 
 /**
  * This class implements client sockets (also called just
@@ -63,7 +62,7 @@
     private boolean bound = false;
     private boolean connected = false;
     private boolean closed = false;
-    private final ReentrantLock closeLock = new ReentrantLock();
+    private Object closeLock = new Object();
     private boolean shutIn = false;
     private boolean shutOut = false;
 
@@ -1575,16 +1574,13 @@
      * @spec JSR-51
      * @see #isClosed
      */
-    public void close() throws IOException {
-        closeLock.lock();
-        try {
-            if (closed)
+    public synchronized void close() throws IOException {
+        synchronized(closeLock) {
+            if (isClosed())
                 return;
-            closed = true;
             if (created)
                 impl.close();
-        } finally {
-            closeLock.unlock();
+            closed = true;
         }
     }
 
@@ -1705,11 +1701,8 @@
      * @see #close
      */
     public boolean isClosed() {
-        closeLock.lock();
-        try {
+        synchronized(closeLock) {
             return closed;
-        } finally {
-            closeLock.unlock();
         }
     }