You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@river.apache.org by ma...@apache.org on 2008/06/10 21:49:45 UTC
svn commit: r666299 -
/incubator/river/jtsk/trunk/src/net/jini/jeri/tcp/TcpEndpoint.java
Author: marbro
Date: Tue Jun 10 12:49:45 2008
New Revision: 666299
URL: http://svn.apache.org/viewvc?rev=666299&view=rev
Log:
Fix for RIVER-22.
Modified:
incubator/river/jtsk/trunk/src/net/jini/jeri/tcp/TcpEndpoint.java
Modified: incubator/river/jtsk/trunk/src/net/jini/jeri/tcp/TcpEndpoint.java
URL: http://svn.apache.org/viewvc/incubator/river/jtsk/trunk/src/net/jini/jeri/tcp/TcpEndpoint.java?rev=666299&r1=666298&r2=666299&view=diff
==============================================================================
--- incubator/river/jtsk/trunk/src/net/jini/jeri/tcp/TcpEndpoint.java (original)
+++ incubator/river/jtsk/trunk/src/net/jini/jeri/tcp/TcpEndpoint.java Tue Jun 10 12:49:45 2008
@@ -821,8 +821,17 @@
private final Socket socket;
+ // socket attributes cached to work around 4720952:
+ private final InetSocketAddress inetSocketAddress;
+ private final int socketPort;
+
ConnectionImpl(Socket socket) {
+ assert socket.isConnected();
+
this.socket = socket;
+ inetSocketAddress =
+ (InetSocketAddress) socket.getRemoteSocketAddress();
+ socketPort = socket.getPort();
}
Socket getSocket() {
@@ -887,13 +896,13 @@
void checkConnectPermission() {
SecurityManager sm = System.getSecurityManager();
if (sm != null) {
- InetSocketAddress address =
- (InetSocketAddress) socket.getRemoteSocketAddress();
- if (address.isUnresolved()) {
- sm.checkConnect(address.getHostName(), socket.getPort());
+ if (inetSocketAddress.isUnresolved()) {
+ sm.checkConnect(inetSocketAddress.getHostName(),
+ socketPort);
} else {
- sm.checkConnect(address.getAddress().getHostAddress(),
- socket.getPort());
+ sm.checkConnect(
+ inetSocketAddress.getAddress().getHostAddress(),
+ socketPort);
}
}
}