Jeff Trawick <[EMAIL PROTECTED]> writes:

>  t0       we need to fork() a new child for some reason
>  t1       we get the graceful restart prod on the pod BEFORE
>           the start_threads() thread has gotten dispatched and
>           initialized worker_queue
>  t2       we call signal_workers() which tries to use a NULL
>           worker_queue and we segfault
> 
> One possible fix for this is to initialize worker_queue in
> child_main() before creating the start_threads() thread so that there
> is no question that the init has been done before we try to use it.
> 
> But there seem to be other timing issues as well.  Maybe we miss our
> chance to apr_thread_join() a worker thread right before it has been
> created.  A fix that would handle that as well as the first problem
> would be to join the start_threads() thread before trying to process a
> restart request.

After trying this the segfaults go away but we still have some process
bailing out prematurely (still get the accept mutex error, still get a
lot of dropped connections even though nobody is segfaulting).

-- 
Jeff Trawick | [EMAIL PROTECTED] | PGP public key at web site:
       http://www.geocities.com/SiliconValley/Park/9289/
             Born in Roswell... married an alien...

Reply via email to