cvs commit: src/sys/kern kern_rwlock.c src/sys/sys rwlock.h

Max Laier max at love2party.net
Tue Apr 1 15:28:06 PDT 2008


On Tuesday 01 April 2008 22:31:55 Attilio Rao wrote:
> attilio     2008-04-01 20:31:55 UTC
>
>   FreeBSD src repository
>
>   Modified files:
>     sys/kern             kern_rwlock.c
>     sys/sys              rwlock.h
>   Log:
>   Add rw_try_rlock() and rw_try_wlock() to rwlocks.
>   These functions try the specified operation (rlocking and wlocking)
> and true is returned if the operation completes, false otherwise.

hmmm ... I'm certainly missing something here, but what's a possible 
usecase for these?  It seems there is not much you can do if you can't 
obtain a rw_lock.  I can understand the need for sx_try_* where you want 
to avoid sleeping, but I can't figure out the need for it on a locking 
primitive that will only spin or wait (not 100% sure about the 
terminology here).  This is especially strange for rw_try_wlock, unless 
you plan to sleep manually on fail.  But then again you'd have a good 
chance that you have to do it over and over again if timing is 
unfortunate.

>   The KPI is enriched by this commit, so __FreeBSD_version bumping and
>   manpage updating will happen soon.
>
>   Requested by:   jeff, kris
>
>   Revision  Changes    Path
>   1.37      +49 -0     src/sys/kern/kern_rwlock.c
>   1.17      +4 -0      src/sys/sys/rwlock.h



-- 
/"\  Best regards,                      | mlaier at freebsd.org
\ /  Max Laier                          | ICQ #67774661
 X   http://pf4freebsd.love2party.net/  | mlaier at EFnet
/ \  ASCII Ribbon Campaign              | Against HTML Mail and News


More information about the cvs-all mailing list