On Tue, 24 Apr 2001, Jeff Trawick wrote:
> With the level of code in CVS, SIGTERM wakes up the main thread in
> each child. The main thread then enters pthread_join() to wait for a
> worker thread to complete but nothing ever happens because there is
> nothing to wake up a worker thread.
>
> This patch moves the workers_may_exit field to the scoreboard and has
> the parent process set this field and bombard the pipe of death before
> sending SIGTERM to the child processes.
>
> The workers_may_exit field is Paul's new life_status field. Since
> this field applies to the entire child process it was moved to a
> different place in the scoreboard and prefork.c was updated as
> appropriate.
>
> Try to ignore the mpm_trace() stuff in the patch...
>
> Anything good in the following patch is from Greg Ames. The rest is
> mine.
>
> Comments?
>
Why is this field going into the scoreboard? This field is really private
to the child process, and doesn't need to go into shared memory.
Can't the problem describes above be solved with a simple
workers_may_exit = 1;
at line 732 of threaded.c?
Ryan
_______________________________________________________________________________
Ryan Bloom [EMAIL PROTECTED]
406 29th St.
San Francisco, CA 94131
-------------------------------------------------------------------------------