Acquiring a mtx after an sx lock
Ryan Stone
rysto32 at gmail.com
Mon Aug 18 16:02:57 UTC 2008
I guess the FreeBSD 8 man pages have been fixed but the FreeBSD 7 ones
haven't. This is what I was looking at:
http://www.freebsd.org/cgi/man.cgi?query=locking&apropos=0&sektion=0&manpath=FreeBSD+7.0-RELEASE&format=html
Thanks for the response,
Ryan Stone
On Mon, Aug 18, 2008 at 11:54 AM, Max Laier <max at love2party.net> wrote:
> On Monday 18 August 2008 17:14:01 Ryan Stone wrote:
> > Are there any problems acquiring a sleep mutex after acquiring an sx
> lock?
> > man 9 locking says that you can't, but doesn't provide any reasons.
> > Obviously while you're holding the mutex you have to abide by the rules
> > applying to mutexes, but as long as you do that, I can't see why
> acquiring
> > a mutex after an sx lock would cause an issue. Is the locking man page
> > wrong about this?
>
> Where does it say so? The interaction table clearly shows:
>
> You have: You want: Spin_mtx Slp_mtx sx_lock rw_lock rm_locksleep
> SPIN mutex ok-1 no no no no no-3
> Sleep mutex ok ok-1 no ok ok no-3
> |
> V
> sx_lock ok -->ok<-- ok-2 ok ok ok-4
> ^
> |
> rw_lock ok ok no ok-2 ok no-3
> rm_lock ok ok no ok ok-2 no
>
>
> --
> /"\ 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 freebsd-hackers
mailing list