Author: markt
Date: Tue Feb 3 09:13:25 2015
New Revision: 1656649
URL: http://svn.apache.org/r1656649
Log:
When setting the write listener and configuring a dispatch for the first write,
also set registeredForWrite to avoid multiple write registrations.
Modified:
tomcat/trunk/java/org/apache/coyote/Response.java
Modified: tomcat/trunk/java/org/apache/coyote/Response.java
URL:
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/Response.java?rev=1656649&r1=1656648&r2=1656649&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/Response.java (original)
+++ tomcat/trunk/java/org/apache/coyote/Response.java Tue Feb 3 09:13:25 2015
@@ -582,9 +582,14 @@ public final class Response {
// written.
if (isReady()) {
action(ActionCode.DISPATCH_WRITE, null);
- // Need to set the fireListener flag otherwise when the container
- // tries to trigger onWritePossible, nothing will happen
synchronized (nonBlockingStateLock) {
+ // Ensure we don't get multiple write registrations if
+ // ServletOutoutStream.isReady() returns false during a call to
+ // onDataAvailable()
+ registeredForWrite = true;
+ // Need to set the fireListener flag otherwise when the
+ // container tries to trigger onWritePossible, nothing will
+ // happen
fireListener = true;
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]