Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 9 Mar 2007 22:41:02 +0000 (UTC)
From:      John Baldwin <jhb@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/share/man/man9 Makefile condvar.9 lock.9 mi_switch.9 mtx_pool.9 mutex.9 rwlock.9 sleep.9 sleepqueue.9 sx.9 thread_exit.9 src/sys/kern kern_synch.c src/sys/sys mutex.h rwlock.h sleepqueue.h sx.h systm.h
Message-ID:  <200703092241.l29Mf2Ds062856@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
jhb         2007-03-09 22:41:01 UTC

  FreeBSD src repository

  Modified files:
    share/man/man9       Makefile condvar.9 lock.9 mi_switch.9 
                         mtx_pool.9 mutex.9 rwlock.9 sleep.9 
                         sleepqueue.9 sx.9 thread_exit.9 
    sys/kern             kern_synch.c 
    sys/sys              mutex.h rwlock.h sleepqueue.h sx.h 
                         systm.h 
  Log:
  Allow threads to atomically release rw and sx locks while waiting for an
  event.  Locking primitives that support this (mtx, rw, and sx) now each
  include their own foo_sleep() routine.
  - Rename msleep() to _sleep() and change it's 'struct mtx' object to a
    'struct lock_object' pointer.  _sleep() uses the recently added
    lc_unlock() and lc_lock() function pointers for the lock class of the
    specified lock to release the lock while the thread is suspended.
  - Add wrappers around _sleep() for mutexes (mtx_sleep()), rw locks
    (rw_sleep()), and sx locks (sx_sleep()).  msleep() still exists and
    is now identical to mtx_sleep(), but it is deprecated.
  - Rename SLEEPQ_MSLEEP to SLEEPQ_SLEEP.
  - Rewrite much of sleep.9 to not be msleep(9) centric.
  - Flesh out the 'RETURN VALUES' section in sleep.9 and add an 'ERRORS'
    section.
  - Add __nonnull(1) to _sleep() and msleep_spin() so that the compiler will
    warn if you try to pass a NULL wait channel.  The functions already have
    a KASSERT to that effect.
  
  Revision  Changes    Path
  1.300     +3 -0      src/share/man/man9/Makefile
  1.17      +1 -1      src/share/man/man9/condvar.9
  1.15      +4 -4      src/share/man/man9/lock.9
  1.20      +7 -6      src/share/man/man9/mi_switch.9
  1.7       +2 -3      src/share/man/man9/mtx_pool.9
  1.54      +13 -1     src/share/man/man9/mutex.9
  1.9       +10 -0     src/share/man/man9/rwlock.9
  1.59      +111 -68   src/share/man/man9/sleep.9
  1.15      +5 -5      src/share/man/man9/sleepqueue.9
  1.36      +11 -1     src/share/man/man9/sx.9
  1.3       +2 -2      src/share/man/man9/thread_exit.9
  1.292     +33 -28    src/sys/kern/kern_synch.c
  1.91      +3 -0      src/sys/sys/mutex.h
  1.9       +2 -0      src/sys/sys/rwlock.h
  1.11      +1 -1      src/sys/sys/sleepqueue.h
  1.27      +2 -0      src/sys/sys/sx.h
  1.252     +9 -4      src/sys/sys/systm.h



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200703092241.l29Mf2Ds062856>