You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Bill Stoddard <bi...@wstoddard.com> on 2003/02/07 17:31:35 UTC

Re: [PATCH] Avoid busy wait in winnt MPM when all workers are busy

Finally spending some time reviewing this patch. It has a problem.

Igor Nazarenko wrote:

> +            /* We failed to grab a context off the queue, consider 
> allocating a
> +             * new one out of the child pool. There may be up to 
> ap_threads_per_child
> +             * contexts in the system at once.
> +             * Note: this function assumes that only one thread may call 
> it,
> +             * so the access to num_completion_contexts variable does not
> +             * have to be protected.
> +             */

The server can have multiple accept threads (one for each Listen 
directive), thus mpm_get_completion_context can have multiple threads in 
it at once. num_completion_contexts needs protecting. I basically like 
your patch, but I want to spend some time thinking through potential 
timing windows before committing it.

Bill