cvs commit: src/sys/kern kern_lock.c kern_mutex.c kern_rwlock.c kern_sx.c src/sys/sys lock.h

John Baldwin jhb at
Fri Mar 9 16:27:12 UTC 2007

jhb         2007-03-09 16:27:11 UTC

  FreeBSD src repository

  Modified files:
    sys/kern             kern_lock.c kern_mutex.c kern_rwlock.c 
    sys/sys              lock.h 
  Add two new function pointers 'lc_lock' and 'lc_unlock' to lock classes.
  These functions are intended to be used to drop a lock and then reacquire
  it when doing an sleep such as msleep(9).  Both functions accept a
  'struct lock_object *' as their first parameter.  The 'lc_unlock' function
  returns an integer that is then passed as the second paramter to the
  subsequent 'lc_lock' function.  This can be used to communicate state.
  For example, sx locks and rwlocks use this to indicate if the lock was
  share/read locked vs exclusive/write locked.
  Currently, spin mutexes and lockmgr locks do not provide working lc_lock
  and lc_unlock functions.
  Revision  Changes    Path
  1.106     +19 -3     src/sys/kern/kern_lock.c
  1.185     +40 -0     src/sys/kern/kern_mutex.c
  1.18      +33 -0     src/sys/kern/kern_rwlock.c
  1.38      +33 -0     src/sys/kern/kern_sx.c
  1.65      +9 -0      src/sys/sys/lock.h

More information about the cvs-src mailing list