From: remm Date: Mon, 2 Apr 2007 16:51:29 +0000 (+0000) Subject: - If an exception is thrown processing an event which was not an error, the contract... X-Git-Url: https://git.internetallee.de/?a=commitdiff_plain;h=1ba815497379df97ba6024f6e40169ed7e2611ec;p=tomcat7.0 - If an exception is thrown processing an event which was not an error, the contract says an ERROR event should be called. git-svn-id: https://svn.apache.org/repos/asf/tomcat/tc6.0.x/trunk@524836 13f79535-47bb-0310-9956-ffa450edef68 --- diff --git a/java/org/apache/catalina/connector/CoyoteAdapter.java b/java/org/apache/catalina/connector/CoyoteAdapter.java index 810b7554b..cb15d7fd3 100644 --- a/java/org/apache/catalina/connector/CoyoteAdapter.java +++ b/java/org/apache/catalina/connector/CoyoteAdapter.java @@ -141,6 +141,14 @@ public class CoyoteAdapter // Calling the container connector.getContainer().getPipeline().getFirst().event(request, response, request.getEvent()); + if (!error && !response.isClosed() && (request.getAttribute(Globals.EXCEPTION_ATTR) != null)) { + // An unexpected exception occurred while processing the event, so + // error should be called + request.getEvent().setEventType(CometEvent.EventType.ERROR); + request.getEvent().setEventSubType(null); + error = true; + connector.getContainer().getPipeline().getFirst().event(request, response, request.getEvent()); + } if (response.isClosed() || !request.isComet()) { res.action(ActionCode.ACTION_COMET_END, null); }