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

Reply via email to