Author: trustin
Date: Thu Aug  2 23:10:51 2007
New Revision: 562349

URL: http://svn.apache.org/viewvc?view=rev&rev=562349
Log:
Removed unnecessary synchronization in SocketConnector

Modified:
    
mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java

Modified: 
mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java
URL: 
http://svn.apache.org/viewvc/mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java?view=diff&rev=562349&r1=562348&r2=562349
==============================================================================
--- 
mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java
 (original)
+++ 
mina/branches/1.1/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java
 Thu Aug  2 23:10:51 2007
@@ -185,18 +185,16 @@
         }
 
         ConnectionRequest request = new ConnectionRequest(ch, handler, config);
-        synchronized (lock) {
+        try {
+            startupWorker();
+        } catch (IOException e) {
             try {
-                startupWorker();
-            } catch (IOException e) {
-                try {
-                    ch.close();
-                } catch (IOException e2) {
-                    ExceptionMonitor.getInstance().exceptionCaught(e2);
-                }
-
-                return DefaultConnectFuture.newFailedFuture(e);
+                ch.close();
+            } catch (IOException e2) {
+                ExceptionMonitor.getInstance().exceptionCaught(e2);
             }
+
+            return DefaultConnectFuture.newFailedFuture(e);
         }
 
         connectQueue.add(request);
@@ -222,11 +220,13 @@
         this.defaultConfig = defaultConfig;
     }
 
-    private synchronized void startupWorker() throws IOException {
-        if (worker == null) {
-            selector = Selector.open();
-            worker = new Worker();
-            executor.execute(new NamePreservingRunnable(worker));
+    private void startupWorker() throws IOException {
+        synchronized (lock) {
+            if (worker == null) {
+                selector = Selector.open();
+                worker = new Worker();
+                executor.execute(new NamePreservingRunnable(worker));
+            }
         }
     }
 


Reply via email to