Here's an updated patch for the worker MPM. It contains the pool-recycling changes from my first patch yesterday, plus a (mostly) mutex-free implementation of the idle worker count.
The logic for this latest change is somewhat more complicated, so I'd appreciate test results and/or code review from anyone with the time and interest to check for race conditions. Thanks, Brian