>   Modified:    .        CHANGES
>                server/mpm/worker Makefile.in mpm.h worker.c
>   Added:       server/mpm/worker pod.c pod.h
>   Log:
>   Remove all signal handling from the worker MPM's child processes.
> Instead,
>   we use the pipe of death for all communication between parent and
child.

I added the new pod.[ch] files so that other MPMs could continue to use
the current functions.  Long-term, we probably want to combine the
functions.

Also, this was tested on Linux, so graceful seems to work.
Unfortunately, graceless doesn't work any better than it used to,
because Linux doesn't kill threads if the main thread in the process
dies.  I know how to fix it, but it will require using pthread_cancel,
which we have always avoided in the past.  I want to stress that this is
the same behavior we were getting before this change.

Tomorrow I will code the pthread_cancel stuff and post a patch for
review.  I am assuming that using pthread_cancel will generate some
discussion.  :-)

Ryan 

Reply via email to