summaryrefslogtreecommitdiff
path: root/java/src
diff options
context:
space:
mode:
authorDwayne Boone <dwayne@zeroc.com>2005-09-07 14:58:13 +0000
committerDwayne Boone <dwayne@zeroc.com>2005-09-07 14:58:13 +0000
commit7690582b1095960874a068c47d20e02bbacedc0f (patch)
treed07a0ccd870c674f1507dfd89b8935468084dc75 /java/src
parentremoving bogus condition around setProperty() in exception handler (diff)
downloadice-7690582b1095960874a068c47d20e02bbacedc0f.tar.bz2
ice-7690582b1095960874a068c47d20e02bbacedc0f.tar.xz
ice-7690582b1095960874a068c47d20e02bbacedc0f.zip
Bug 371: closeSocket can hide real errors
Diffstat (limited to 'java/src')
-rw-r--r--java/src/IceInternal/Network.java68
1 files changed, 28 insertions, 40 deletions
diff --git a/java/src/IceInternal/Network.java b/java/src/IceInternal/Network.java
index 9de874da5ad..2e8d4d2a58c 100644
--- a/java/src/IceInternal/Network.java
+++ b/java/src/IceInternal/Network.java
@@ -145,6 +145,19 @@ public final class Network
}
}
+ private static void
+ closeSocketNoThrow(java.nio.channels.SelectableChannel fd)
+ {
+ try
+ {
+ fd.close();
+ }
+ catch(java.io.IOException ex)
+ {
+ // Ignore
+ }
+ }
+
public static void
closeSocket(java.nio.channels.SelectableChannel fd)
{
@@ -169,6 +182,7 @@ public final class Network
}
catch(java.io.IOException ex)
{
+ closeSocketNoThrow(fd);
Ice.SocketException se = new Ice.SocketException();
se.initCause(ex);
throw se;
@@ -186,6 +200,7 @@ public final class Network
}
catch(java.io.IOException ex)
{
+ closeSocketNoThrow(fd);
Ice.SocketException se = new Ice.SocketException();
se.initCause(ex);
throw se;
@@ -203,6 +218,7 @@ public final class Network
}
catch(java.io.IOException ex)
{
+ closeSocketNoThrow(fd);
Ice.SocketException se = new Ice.SocketException();
se.initCause(ex);
throw se;
@@ -231,7 +247,7 @@ public final class Network
{
if(timeout > 0 && timer >= timeout)
{
- fd.close();
+ closeSocketNoThrow(fd);
throw new Ice.ConnectTimeoutException();
}
try
@@ -247,14 +263,7 @@ public final class Network
}
catch(java.net.ConnectException ex)
{
- try
- {
- fd.close();
- }
- catch(java.io.IOException e)
- {
- // ignore
- }
+ closeSocketNoThrow(fd);
Ice.ConnectFailedException se;
if(connectionRefused(ex))
@@ -270,14 +279,7 @@ public final class Network
}
catch(java.io.IOException ex)
{
- try
- {
- fd.close();
- }
- catch(java.io.IOException e)
- {
- // ignore
- }
+ closeSocketNoThrow(fd);
Ice.SocketException se = new Ice.SocketException();
se.initCause(ex);
throw se;
@@ -293,14 +295,7 @@ public final class Network
}
catch(java.net.ConnectException ex)
{
- try
- {
- fd.close();
- }
- catch(java.io.IOException e)
- {
- // ignore
- }
+ closeSocketNoThrow(fd);
Ice.ConnectFailedException se;
if(connectionRefused(ex))
@@ -316,14 +311,7 @@ public final class Network
}
catch(java.io.IOException ex)
{
- try
- {
- fd.close();
- }
- catch(java.io.IOException e)
- {
- // ignore
- }
+ closeSocketNoThrow(fd);
Ice.SocketException se = new Ice.SocketException();
se.initCause(ex);
throw se;
@@ -435,6 +423,7 @@ public final class Network
}
catch(java.io.IOException ex)
{
+ closeSocketNoThrow(fd);
Ice.SocketException se = new Ice.SocketException();
se.initCause(ex);
throw se;
@@ -452,6 +441,7 @@ public final class Network
}
catch(java.io.IOException ex)
{
+ closeSocketNoThrow(fd);
Ice.SocketException se = new Ice.SocketException();
se.initCause(ex);
throw se;
@@ -469,6 +459,7 @@ public final class Network
}
catch(java.io.IOException ex)
{
+ closeSocketNoThrow(fd);
Ice.SocketException se = new Ice.SocketException();
se.initCause(ex);
throw se;
@@ -485,6 +476,7 @@ public final class Network
}
catch(java.io.IOException ex)
{
+ closeSocketNoThrow(fd);
Ice.SocketException se = new Ice.SocketException();
se.initCause(ex);
throw se;
@@ -502,6 +494,7 @@ public final class Network
}
catch(java.io.IOException ex)
{
+ closeSocketNoThrow(fd);
Ice.SocketException se = new Ice.SocketException();
se.initCause(ex);
throw se;
@@ -520,6 +513,7 @@ public final class Network
}
catch(java.io.IOException ex)
{
+ closeSocketNoThrow(fd);
Ice.SocketException se = new Ice.SocketException();
se.initCause(ex);
throw se;
@@ -670,13 +664,7 @@ public final class Network
}
finally
{
- try
- {
- fd.close();
- }
- catch(java.io.IOException ex)
- {
- }
+ closeSocketNoThrow(fd);
}
return fds;