You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2017/06/26 13:33:47 UTC
svn commit: r1799916 -
/tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java
Author: markt
Date: Mon Jun 26 13:33:47 2017
New Revision: 1799916
URL: http://svn.apache.org/viewvc?rev=1799916&view=rev
Log:
Avoid NPE during non-container thread error handling
Modified:
tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java
Modified: tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java?rev=1799916&r1=1799915&r2=1799916&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java (original)
+++ tomcat/trunk/java/org/apache/catalina/core/AsyncContextImpl.java Mon Jun 26 13:33:47 2017
@@ -407,6 +407,10 @@ public class AsyncContextImpl implements
if (result.get()) {
// No listener called dispatch() or complete(). This is an error.
// SRV.2.3.3.3 (search for "error dispatch")
+ // Take a local copy to avoid threading issues if another thread
+ // clears this (can happen during error handling with non-container
+ // threads)
+ ServletResponse servletResponse = this.servletResponse;
if (servletResponse instanceof HttpServletResponse) {
((HttpServletResponse) servletResponse).setStatus(
HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org