On Friday 19 October 2007 12:46, Jeff Rogers wrote:
> Looking at it slightly more deeply, the AtReady callback shouldn't be
> needed, because TriggerDriver is called from NsFreeConn, which is called
> every time through the ConnThread loop after the connections have been
> put back on the free list.
>

This is one thing that I noticed, TriggerDriver is called in more places, but 
the point seems to be to update any statistics, and also to return conns. And 
of course, the driver doesn't need triggering when a lot of requests are 
coming in, only when the server starts to reap stale or used up threads. 

One thing which seems different is that the driver doesn't hold on to 
requests, they are queued, so there is no reason for threads to need to do a 
TriggerDriver in order to get a new conn (assuming one is in the queue).

In other words, the TriggerDriver is used to return stuff to the driver 
thread, not to signal ready. 

At least one thing is still missing here: if there is a -timeout on the thread 
wait, all threads will end up exiting, going past minthreads. If -timeout is 
set to 0, threads will exit and are not replaced when this ends up leaving 
less than minthreads available. If you get surges of requests, a timeout of 
zero would help a little to keep from continuously creating new threads. 

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