Author: markt
Date: Thu Oct 25 22:12:33 2012
New Revision: 1402345

URL: http://svn.apache.org/viewvc?rev=1402345&view=rev
Log:
Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=54022
Ensure Comet END event is triggered on client disconnect with APR/native on 
Windows Vista/2k8 or later.
Patch provided by Douglas Beachy.

Modified:
    tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java

Modified: tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java
URL: 
http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java?rev=1402345&r1=1402344&r2=1402345&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java (original)
+++ tomcat/trunk/java/org/apache/coyote/AbstractProtocol.java Thu Oct 25 
22:12:33 2012
@@ -604,9 +604,13 @@ public abstract class AbstractProtocol i
 
                 SocketState state = SocketState.CLOSED;
                 do {
-                    if (status == SocketStatus.DISCONNECT) {
-                        //do nothing here, just wait for it to get recycled
-                    } else if (processor.isAsync() || state == 
SocketState.ASYNC_END) {
+                    if (status == SocketStatus.DISCONNECT &&
+                            !processor.isComet()) {
+                        // Do nothing here, just wait for it to get recycled
+                        // Don't do this for Comet we need to generate an end
+                        // event (see BZ 54022)
+                    } else if (processor.isAsync() ||
+                            state == SocketState.ASYNC_END) {
                         state = processor.asyncDispatch(status);
                     } else if (processor.isComet()) {
                         state = processor.event(status);



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to