cvs commit: src/share/man/man9 condvar.9 sleep.9 src/sys/kern kern_condvar.c kern_synch.c

John Baldwin jhb at
Thu Aug 7 21:02:26 UTC 2008

jhb         2008-08-07 21:00:13 UTC

  FreeBSD src repository

  Modified files:
    share/man/man9       condvar.9 sleep.9 
    sys/kern             kern_condvar.c kern_synch.c 
  SVN rev 181394 on 2008-08-07 21:00:13Z by jhb
  Permit Giant to be passed as the explicit interlock either to
  msleep/mtx_sleep or the various cv_*wait*() routines.  Currently, the
  "unlock" behavior of PDROP and cv_wait_unlock() with Giant is not
  permitted as it is will be confusing since Giant is fully unrecursed and
  unlocked during a thread sleep.
  This is handy for subsystems which wish to allow unlocked drivers to
  continue to use Giant such as CAM, the new TTY layer, and the new USB
  stack.  CAM currently uses a hack that I told Scott to use because I
  really didn't want to permit this behavior, and the TTY and USB patches
  both have various patches to permit this.
  MFC after:      2 weeks
  Revision  Changes    Path
  1.22      +18 -0     src/share/man/man9/condvar.9
  1.63      +6 -0      src/share/man/man9/sleep.9
  1.65      +50 -28    src/sys/kern/kern_condvar.c
  1.313     +6 -2      src/sys/kern/kern_synch.c

More information about the cvs-all mailing list