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 2013/05/23 01:11:47 UTC

svn commit: r1485489 - /tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java

Author: markt
Date: Wed May 22 23:11:47 2013
New Revision: 1485489

URL: http://svn.apache.org/r1485489
Log:
Revert r1485458. Right idea but that isn't how to do it.

Modified:
    tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java

Modified: tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java
URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=1485489&r1=1485488&r2=1485489&view=diff
==============================================================================
--- tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java (original)
+++ tomcat/trunk/java/org/apache/tomcat/util/net/AprEndpoint.java Wed May 22 23:11:47 2013
@@ -1602,12 +1602,14 @@ public class AprEndpoint extends Abstrac
                                 log.debug("Poller run() adding socket: " +
                                         info.socket);
                             }
-                            removeFromPoller(info.socket);
                             timeouts.remove(info.socket);
                             if (info.read() || info.write()) {
                                 AprSocketWrapper wrapper = connections.get(
                                         Long.valueOf(info.socket));
                                 boolean comet = wrapper.isComet();
+                                if (comet || wrapper.pollerFlags != 0) {
+                                    removeFromPoller(info.socket);
+                                }
                                 wrapper.pollerFlags = wrapper.pollerFlags |
                                         (info.read() ? Poll.APR_POLLIN : 0) |
                                         (info.write() ? Poll.APR_POLLOUT : 0);
@@ -1649,6 +1651,11 @@ public class AprEndpoint extends Abstrac
                             pollerSpace[i] += rv;
                             connectionCount -= rv;
                             for (int n = 0; n < rv; n++) {
+                                if (log.isDebugEnabled()) {
+                                    log.debug("Poller run() poll() of socket " +
+                                            desc[n*2+1] + " with flags " +
+                                            desc[n*2]);
+                                }
                                 timeouts.remove(desc[n*2+1]);
                                 AprSocketWrapper wrapper = connections.get(
                                         Long.valueOf(desc[n*2+1]));
@@ -1665,7 +1672,7 @@ public class AprEndpoint extends Abstrac
                                         }
                                     } else if ((desc[n*2] & Poll.APR_POLLIN) == Poll.APR_POLLIN) {
                                         if (wrapper.pollerFlags != 0) {
-                                            add(desc[n*2+1], 1, wrapper.pollerFlags);
+                                            add(desc[n*2+1], 0, wrapper.pollerFlags);
                                         }
                                         if (!processSocket(desc[n*2+1], SocketStatus.OPEN_READ)) {
                                             // Close socket and clear pool
@@ -1673,7 +1680,7 @@ public class AprEndpoint extends Abstrac
                                         }
                                     } else if ((desc[n*2] & Poll.APR_POLLOUT) == Poll.APR_POLLOUT) {
                                         if (wrapper.pollerFlags != 0) {
-                                            add(desc[n*2+1], 1, wrapper.pollerFlags);
+                                            add(desc[n*2+1], 0, wrapper.pollerFlags);
                                         }
                                         if (!processSocket(desc[n*2+1], SocketStatus.OPEN_WRITE)) {
                                             // Close socket and clear pool



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