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));
+ }
}
}