I've been working on this more with some effort to get the number of connection threads to actually stay somewhere close to the range of minthreads to maxthreads.
But there was something a little more interesting to track down: what happens when a thread exits? I think there is some idea that the reason for exiting a thread is to remove memory leaks which might occur. But the question is, if threads are shared among servers, and threads exit on a number of connections, what else happens when the thread exits? Apparently, all the interps associated with the thread exit. I haven't seen any evidence against this conclusion. What this means is that thread exit is expensive. It could take down multiple interps (one for each server sharing the thread). This impacts the current discussion because I'm having trouble finding an easy way to avoid thread exit because of a timeout. But this information seems to simplify the problem. Why exit a thread just because of a timeout? I can't see any possible advantage. Instead, every effort should be directed at keeping threads alive until maxconns is reached. Also, shared threadpools should be limited to the default and error pools, otherwise a simple server could quickly expire interps of a more expensive server. tom jackson On Sunday 21 October 2007 14:47, Gustaf Neumann wrote: > Tom Jackson schrieb: > > The if statement on line 507 checks the Pool structure outside of a mutex > > lock. > > Good observation. > The code was not correct, although the potential damage was small. > Fixed by now. -- 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.