Bill Stoddard wrote:

>>On Fri, 26 Apr 2002, Bill Stoddard wrote:
>>
>>>This is a patch to worker.c to prevent more connections from being
>>>accepted than there are workers to handle them.  The accept thread
>>>decrements the avail count and the workers increment the avail count. I
>>>don't have a linux box handy so i cannot confirm this patch compiles.
>>>Sorry.
>>>
>>Besides, isn't there a race condition here?  Or are you assuming ++ and --
>>are atomic?
>>
>
>Yep, and it is a bad assumption.
>

The safest place to increment/decrement the count is probably around the
apr_thread_cond_wait() call in the fd-queue pop function.  The worker thread
is holding the global mutex right before and right after that call.

--Brian

Reply via email to