From e5b38e22e9ab7bc537e41ca083caa752b29cc47c Mon Sep 17 00:00:00 2001 From: Dwayne Boone Date: Fri, 9 Sep 2005 12:31:37 +0000 Subject: bug 430: udp close on transient exceptions --- java/src/IceInternal/ThreadPool.java | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) (limited to 'java/src/IceInternal/ThreadPool.java') diff --git a/java/src/IceInternal/ThreadPool.java b/java/src/IceInternal/ThreadPool.java index 116a22404b1..dafe47b8a21 100644 --- a/java/src/IceInternal/ThreadPool.java +++ b/java/src/IceInternal/ThreadPool.java @@ -678,7 +678,7 @@ public final class ThreadPool { continue; } - catch(Ice.LocalException ex) + catch(Ice.SocketException ex) { if(TRACE_EXCEPTION) { @@ -690,6 +690,29 @@ public final class ThreadPool handler.exception(ex); continue; } + catch(Ice.LocalException ex) + { + if(handler.datagram()) + { + if(_instance.properties().getPropertyAsInt("Ice.Warn.Connections") > 0) + { + _instance.logger().warning("datagram connection exception:\n" + ex + + handler.toString()); + } + } + else + { + if(TRACE_EXCEPTION) + { + trace("informing handler (" + handler.getClass().getName() + + ") about exception " + ex); + ex.printStackTrace(); + } + + handler.exception(ex); + } + continue; + } stream.swap(handler._stream); assert(stream.pos() == stream.size()); -- cgit v1.2.3