diff options
-rw-r--r-- | java/src/IceInternal/TcpTransceiver.java | 15 |
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(); |