You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mina.apache.org by tr...@apache.org on 2007/08/03 08:10:57 UTC
svn commit: r562350 -
/mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java
Author: trustin
Date: Thu Aug 2 23:10:56 2007
New Revision: 562350
URL: http://svn.apache.org/viewvc?view=rev&rev=562350
Log:
Removed unnecessary synchronization in SocketConnector
Modified:
mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java
Modified: mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java
URL: http://svn.apache.org/viewvc/mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java?view=diff&rev=562350&r1=562349&r2=562350
==============================================================================
--- mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java (original)
+++ mina/branches/1.0/core/src/main/java/org/apache/mina/transport/socket/nio/SocketConnector.java Thu Aug 2 23:10:56 2007
@@ -190,18 +190,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);
}
synchronized (connectQueue) {
@@ -229,11 +227,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));
+ }
}
}