cvs commit: src/sys/kern subr_turnstile.c

John Baldwin jhb at FreeBSD.org
Tue Oct 5 11:00:48 PDT 2004


jhb         2004-10-05 18:00:30 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             subr_turnstile.c 
  Log:
  Add a critical section in turnstile_unpend() from before dropping the
  turnstile chain lock until after making all the awakened threads
  runnable.  First, this fixes a priority inversion race.  Second, this
  attempts to finish waking up all of the threads waiting on a turnstile
  before doing a preemption.
  
  Reviewed by:    Stephan Uphoff (who found the priority inversion race)
  
  Revision  Changes    Path
  1.149     +2 -0      src/sys/kern/subr_turnstile.c


More information about the cvs-src mailing list