cvs commit: src/sys/dev/hwpmc hwpmc_mod.c src/sys/dev/random randomdev_soft.c src/sys/kern kern_intr.c kern_poll.c kern_synch.c kern_thr.c kern_umtx.c sched_4bsd.c subr_taskqueue.c uipc_mqueue.c src/sys/vm vm_zeroidle.c

John Baldwin jhb at FreeBSD.org
Mon Apr 17 18:20:38 UTC 2006


jhb         2006-04-17 18:20:38 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/hwpmc        hwpmc_mod.c 
    sys/dev/random       randomdev_soft.c 
    sys/kern             kern_intr.c kern_poll.c kern_synch.c 
                         kern_thr.c kern_umtx.c sched_4bsd.c 
                         subr_taskqueue.c uipc_mqueue.c 
    sys/vm               vm_zeroidle.c 
  Log:
  Change msleep() and tsleep() to not alter the calling thread's priority
  if the specified priority is zero.  This avoids a race where the calling
  thread could read a snapshot of it's current priority, then a different
  thread could change the first thread's priority, then the original thread
  would call sched_prio() inside msleep() undoing the change made by the
  second thread.  I used a priority of zero as no thread that calls msleep()
  or tsleep() should be specifying a priority of zero anyway.
  
  The various places that passed 'curthread->td_priority' or some variant
  as the priority now pass 0.
  
  Revision  Changes    Path
  1.24      +1 -8      src/sys/dev/hwpmc/hwpmc_mod.c
  1.13      +2 -4      src/sys/dev/random/randomdev_soft.c
  1.132     +3 -5      src/sys/kern/kern_intr.c
  1.26      +1 -3      src/sys/kern/kern_poll.c
  1.279     +5 -3      src/sys/kern/kern_synch.c
  1.43      +2 -2      src/sys/kern/kern_thr.c
  1.36      +4 -6      src/sys/kern/kern_umtx.c
  1.78      +1 -1      src/sys/kern/sched_4bsd.c
  1.36      +1 -1      src/sys/kern/subr_taskqueue.c
  1.15      +2 -2      src/sys/kern/uipc_mqueue.c
  1.37      +1 -3      src/sys/vm/vm_zeroidle.c


More information about the cvs-src mailing list