quick question,

Socket.timeoutSet(state.socket, soTimeout * 1000);

does APR have timeouts in nano seconds? cause I believe the default value for 
the variable soTimeout is 60000ms.

thanks
Filip




[EMAIL PROTECTED] wrote:
Author: remm
Date: Sat Aug  5 07:18:48 2006
New Revision: 429003

URL: http://svn.apache.org/viewvc?rev=429003&view=rev
Log:
- Similar fix of the bad translation of the algorithm.

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

Modified: 
tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java
URL: 
http://svn.apache.org/viewvc/tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java?rev=429003&r1=429002&r2=429003&view=diff
==============================================================================
--- 
tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java 
(original)
+++ 
tomcat/connectors/trunk/util/java/org/apache/tomcat/util/net/AprEndpoint.java 
Sat Aug  5 07:18:48 2006
@@ -998,16 +998,9 @@
try {
                     // Allocate a new worker thread
-                    Worker workerThread = getWorkerThread();
                     // Accept the next incoming connection from the server 
socket
-                    long socket = Socket.accept(serverSock);
                     // Hand this socket off to an appropriate processor
-                    if (setSocketOptions(socket)) {
-                        workerThread.assign(socket);
-                    } else {
-                        // Close socket and pool right away
-                        Socket.destroy(socket);
-                    }
+                    getWorkerThread().assign(Socket.accept(serverSock), true);
                 } catch (Throwable t) {
                     log.error(sm.getString("endpoint.accept.fail"), t);
                 }
@@ -1166,7 +1159,7 @@
                                 continue;
                             }
                             // Hand this socket off to a worker
-                            getWorkerThread().assign(desc[n*2+1]);
+                            getWorkerThread().assign(desc[n*2+1], false);
                         }
                     } else if (rv < 0) {
                         int errn = -rv;
@@ -1218,6 +1211,7 @@
         protected Thread thread = null;
         protected boolean available = false;
         protected long socket = 0;
+        protected boolean options = false;
/**
@@ -1229,7 +1223,7 @@
          *
          * @param socket TCP socket to process
          */
-        protected synchronized void assign(long socket) {
+        protected synchronized void assign(long socket, boolean options) {
// Wait for the Processor to get the previous Socket
             while (available) {
@@ -1241,6 +1235,7 @@
// Store the newly available Socket and notify our thread
             this.socket = socket;
+            this.options = options;
             available = true;
             notifyAll();
@@ -1286,7 +1281,7 @@
                     continue;
// Process the request from this socket
-                if (!handler.process(socket)) {
+                if ((options && !setSocketOptions(socket)) || 
!handler.process(socket)) {
                     // Close socket and pool
                     Socket.destroy(socket);
                     socket = 0;
@@ -1552,7 +1547,7 @@
                                     Socket.timeoutSet(state.socket, soTimeout 
* 1000);
                                     // If all done hand this socket off to a 
worker for
                                     // processing of further requests
-                                    getWorkerThread().assign(state.socket);
+                                    getWorkerThread().assign(state.socket, 
false);
                                 } else {
                                     // Close the socket since this is
                                     // the end of not keep-alive request.



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




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

Reply via email to