summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--java/src/IceInternal/TcpTransceiver.java15
1 files changed, 15 insertions, 0 deletions
diff --git a/java/src/IceInternal/TcpTransceiver.java b/java/src/IceInternal/TcpTransceiver.java
index 9a3cbb99d13..9d3fe23d202 100644
--- a/java/src/IceInternal/TcpTransceiver.java
+++ b/java/src/IceInternal/TcpTransceiver.java
@@ -57,6 +57,21 @@ final class TcpTransceiver implements Transceiver
{
socket.shutdownOutput(); // Shutdown socket for writing
}
+ catch(java.net.SocketException ex)
+ {
+ //
+ // Ignore errors indicating that we are shutdown already.
+ //
+ String msg = ex.getMessage().toLowerCase();
+ if(msg.indexOf("transport endpoint is not connected") != -1)
+ {
+ return;
+ }
+
+ Ice.SocketException se = new Ice.SocketException();
+ se.initCause(ex);
+ throw se;
+ }
catch(java.io.IOException ex)
{
Ice.SocketException se = new Ice.SocketException();