[jboss-cvs] JBossRemoting/src/main/org/jboss/remoting/transport/bisocket ...
Ron Sigal
ron_sigal at yahoo.com
Sun Aug 5 00:08:52 EDT 2007
User: rsigal
Date: 07/08/05 00:08:52
Modified: src/main/org/jboss/remoting/transport/bisocket Tag:
remoting_2_2_0_GA BisocketClientInvoker.java
Log:
JBREM-767: handleDisconnect() wakes up any threads blocked in createSocket().
Revision Changes Path
No revision
No revision
1.1.2.13.2.11 +17 -2 JBossRemoting/src/main/org/jboss/remoting/transport/bisocket/BisocketClientInvoker.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: BisocketClientInvoker.java
===================================================================
RCS file: /cvsroot/jboss/JBossRemoting/src/main/org/jboss/remoting/transport/bisocket/BisocketClientInvoker.java,v
retrieving revision 1.1.2.13.2.10
retrieving revision 1.1.2.13.2.11
diff -u -b -r1.1.2.13.2.10 -r1.1.2.13.2.11
--- BisocketClientInvoker.java 5 Aug 2007 02:44:28 -0000 1.1.2.13.2.10
+++ BisocketClientInvoker.java 5 Aug 2007 04:08:51 -0000 1.1.2.13.2.11
@@ -346,9 +346,19 @@
listenerIdToControlSocketsMap.remove(listenerId);
}
+ Set sockets = null;
synchronized (listenerIdToSocketsMap)
{
- listenerIdToSocketsMap.remove(listenerId);
+ sockets = (Set) listenerIdToSocketsMap.remove(listenerId);
+ }
+
+ // Wake up any threads blocked in createSocket().
+ if (sockets != null)
+ {
+ synchronized (sockets)
+ {
+ sockets.notifyAll();
+ }
}
if (pingTimerTask != null)
@@ -442,7 +452,12 @@
}
if (sockets.isEmpty())
+ {
+ if (!isConnected())
+ throw new IOException("Unable to create socket: invoker is disconnected");
+ else
throw new IOException("Timed out trying to create socket");
+ }
Iterator it = sockets.iterator();
Socket socket = (Socket) it.next();
More information about the jboss-cvs-commits
mailing list