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