cvs commit: src/sys/kern subr_sleepqueue.c

John Baldwin jhb at FreeBSD.org
Mon Sep 8 19:45:07 UTC 2008


jhb         2008-09-08 19:44:57 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             subr_sleepqueue.c 
  Log:
  SVN rev 182875 on 2008-09-08 19:44:57Z by jhb
  
  Close a race in sleepq_broadcast() where the sleepq could be reused after
  it had been assigned to the last sleeping thread.  That thread might have
  started running on another CPU and have reused that sleep queue.  Fix it
  by just walking the thread queue using TAILQ_FOREACH_SAFE() rather than
  a while loop.
  
  PR:             amd64/124200
  Discovered by:  tegge
  Tested by:      benjsc
  MFC after:      1 week
  
  Revision  Changes    Path
  1.57      +2 -3      src/sys/kern/subr_sleepqueue.c


More information about the cvs-src mailing list