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...