On Friday 19 October 2007 09:12, Gustaf Neumann wrote:
> Actually, if minthreads is set to a value > 0 (it was not set), then idle
> threads should care about queued requests. Maybe the
> easier fix is to set minthreads per default to 1. I will
> try this, when i am back home (in a couple of hours).


AOLserver does not respect minthreads except at startup. This is part of the 
same issue: Nothing except a request can create a thread. It seems like on 
thread exit, a little accounting process could go on to bring threads.current 
up to threads.min, this might require more than one thread creation, maybe 
not. 

In your patch, you change the while loop test:
+   while (poolPtr->threads.maxconns <= 0 
+       || ncons-- > 0 
+       || poolPtr->queue.wait.num > 1) { 

Shouldn't the loop continue with poolPtr->queue.wait.num > 0 ?

Your patch looks like a great fix...I just still don't understand why the 
server would completely lock up. As long as you have requests coming in, 
seems like a new thread would get created. I wonder if what is happening is 
that Apache Bench simple stops sending new requests because none of the 
requests are finishing. If it can block, I wonder if simply visiting with a 
browser would kick things off again? 

tom jackson


--
AOLserver - http://www.aolserver.com/

To Remove yourself from this list, simply send an email to <[EMAIL PROTECTED]> 
with the
body of "SIGNOFF AOLSERVER" in the email message. You can leave the Subject: 
field of your email blank.

Reply via email to