Questions on adaptive mutexes and trylock

Joe Marcus Clarke marcus at marcuscom.com
Wed May 9 15:27:25 UTC 2012


The newest GLib (as well as PHP APC) is starting to use adaptive mutexes
in their code.  When a mutex type is set to adaptive and you try to call
pthread_mutex_trylock() on it, you get back an EINVAL.  Is this a bug,
or should this really be happening (the code clearly indicates adaptive
mutexes are not handled by trylock)?

I imagine Linux is not doing this since the code doesn't abort on Linux
as it does on FreeBSD.  Should we be silently allowing trylock to
perform a no-op on adaptive mutexes, or should we be handling adaptive
mutexes with trylock?  Thanks.

Joe

-- 
PGP Key : http://www.marcuscom.com/pgp.asc


More information about the freebsd-questions mailing list