Author: fhanik
Date: Sat Apr 14 09:31:45 2007
New Revision: 528832

URL: http://svn.apache.org/viewvc?view=rev&rev=528832
Log:
Revert to revision 528735, something is broken and I'm losing my mind

Modified:
    tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java
    tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
    tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/SocketProperties.java

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java?view=diff&rev=528832&r1=528831&r2=528832
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java 
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/coyote/http11/Http11NioProcessor.java 
Sat Apr 14 09:31:45 2007
@@ -950,14 +950,7 @@
 
 
             rp.setStage(org.apache.coyote.Constants.STAGE_KEEPALIVE);
-            if (!error && keepAlive && !comet) {
-                //we're at a keep alive stage,
-                openSocket = true;
-                //Add the socket to the poller
-                socket.getPoller().add(socket);
-                //free up the thread
-                break;
-            }
+
         }
 
         rp.setStage(org.apache.coyote.Constants.STAGE_ENDED);

Modified: tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java?view=diff&rev=528832&r1=528831&r2=528832
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java 
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/NioEndpoint.java Sat 
Apr 14 09:31:45 2007
@@ -1116,11 +1116,21 @@
             workers.notify();
         }
     }
+    /**
+     * Process given socket.
+     */
+    protected boolean processSocket(NioChannel socket) {
+        return processSocket(socket,null);
+    }
 
 
     /**
      * Process given socket for an event.
      */
+    protected boolean processSocket(NioChannel socket, SocketStatus status) {
+        return processSocket(socket,status,true);
+    }
+    
     protected boolean processSocket(NioChannel socket, SocketStatus status, 
boolean dispatch) {
         try {
             if (executor == null) {
@@ -1316,7 +1326,7 @@
         
         public void addEvent(Runnable event) {
             events.offer(event);
-            if ( wakeupCounter.incrementAndGet() == 1 || wakeupCounter.get() > 
5 ) selector.wakeup();
+            if ( wakeupCounter.incrementAndGet() < 3 ) selector.wakeup();
         }
 
         /**
@@ -1418,10 +1428,7 @@
                     int keyCount = 0;
                     try {
                         if ( !close ) {
-                            if ( wakeupCounter.get() > 0 )
-                                keyCount = selector.selectNow(); //we have 
events that need to be processed
-                            else
-                                keyCount = selector.select(selectorTimeout);
+                            keyCount = selector.select(selectorTimeout);
                             wakeupCounter.set(0);
                         }
                         if (close) {
@@ -1494,8 +1501,8 @@
                             //check if thread is available
                             if ( isWorkerAvailable() ) {
                                 unreg(sk, attachment);
-                                if (!processSocket(channel, 
SocketStatus.OPEN,true))
-                                    processSocket(channel, 
SocketStatus.DISCONNECT,true);
+                                if (!processSocket(channel, SocketStatus.OPEN))
+                                    processSocket(channel, 
SocketStatus.DISCONNECT);
                                 attachment.setFairness(0);
                             } else {
                                 //increase the fairness counter
@@ -1509,7 +1516,7 @@
                             //later on, improve latch behavior
                             if ( isWorkerAvailable() ) {
                                 unreg(sk, attachment);
-                                boolean close = 
(!processSocket(channel,null,true));
+                                boolean close = (!processSocket(channel));
                                 if (close) {
                                     
cancelledKey(sk,SocketStatus.DISCONNECT,false);
                                 }
@@ -1622,6 +1629,7 @@
                     cancelledKey(key, SocketStatus.ERROR,false);
                 }
             }//for
+            if ( log.isDebugEnabled() ) log.debug("Poller processed 
"+keycount+" keys through timeout");
         }
     }
 
@@ -1911,8 +1919,6 @@
                 } finally {
                     //dereference socket to let GC do its job
                     socket = null;
-                    this.socket = null;
-                    key = null;
                     // Finish up this request
                     recycleWorkerThread(this);
                 }

Modified: 
tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/SocketProperties.java
URL: 
http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/SocketProperties.java?view=diff&rev=528832&r1=528831&r2=528832
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/SocketProperties.java 
(original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/tomcat/util/net/SocketProperties.java 
Sat Apr 14 09:31:45 2007
@@ -82,7 +82,7 @@
      * The application write buffer size in bytes
      * Default value is txBufSize
      */
-    protected int appWriteBufSize = txBufSize;
+    protected int appWriteBufSize = 8192;
 
     /**
      * NioChannel pool size for the endpoint,



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to