Ryan Bloom <[EMAIL PROTECTED]> writes:
> As I have tried to explain MUTLIPLE times, we do not have two workers fighting over
> the same field. The threads are always separated correctly. We can have to
>processes using
> the same process_score, but that only affects the pid, generation, and sb_type. The
>only thing
> that matters in that case is the pid, and that is easily fixable, by moving it to
>the worker_score
> where it belongs.
t0:
some thread slot is SERVER_DEAD so parent forks a new child (call it
"X") to take over that set of slots
t1:
"X" is not done initializing
some thread slot is SERVER_DEAD so parent forks a new child (call it
"Y" to take over that same set of slots
t2:
start_threads() in process "X" sees that an entry is SERVER_DEAD and
gets timesliced just before starting a thread to take over that
entry
t3:
start_threads() in process "Y" sees that same entry is SERVER_DEAD
and starts a thread to take over that entry
t4:
process "X" wakes up again and takes over that entry
we now have threads in two different processes using the same slot
Even if the threads were always separated correctly, which they
aren't, why would we allow more than one process to take over the
slots for a dying process? That uses more system resources.
--
Jeff Trawick | [EMAIL PROTECTED] | PGP public key at web site:
http://www.geocities.com/SiliconValley/Park/9289/
Born in Roswell... married an alien...