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