Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jetty-client/src/main/java/org/eclipse/jetty/client/HttpConnection.java')
-rw-r--r--jetty-client/src/main/java/org/eclipse/jetty/client/HttpConnection.java20
1 files changed, 16 insertions, 4 deletions
diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpConnection.java b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpConnection.java
index 5555ff2e50..ac09392372 100644
--- a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpConnection.java
+++ b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpConnection.java
@@ -285,8 +285,11 @@ public class HttpConnection implements Connection
return;
}
}
- catch (IOException e)
- {
+ catch (Throwable e)
+ {
+ if (e instanceof ThreadDeath)
+ throw (ThreadDeath)e;
+
synchronized (this)
{
if (_exchange != null)
@@ -295,9 +298,18 @@ public class HttpConnection implements Connection
_exchange.setStatus(HttpExchange.STATUS_EXCEPTED);
}
}
- failed = true;
Log.warn("IOE on "+_exchange);
- throw e;
+ failed = true;
+ if (e instanceof IOException)
+ throw (IOException)e;
+
+ if (e instanceof Error)
+ throw (Error)e;
+
+ if (e instanceof RuntimeException)
+ throw (RuntimeException)e;
+
+ throw new RuntimeException(e);
}
finally
{

Back to the top