fix and optimize non-default-type mutex behavior
authorRich Felker <dalias@aerifal.cx>
Tue, 8 Mar 2011 08:41:05 +0000 (03:41 -0500)
committerRich Felker <dalias@aerifal.cx>
Tue, 8 Mar 2011 08:41:05 +0000 (03:41 -0500)
commit4820f9268d3dc1f2aac923de0a591ffd5d54ea89
treeb0b247a81d43cb7a23a5eb0dc33ea1c83c9130d4
parent1d6b1f15929ff19f4dce4f83947e14f7c3fc3c19
fix and optimize non-default-type mutex behavior

problem 1: mutex type from the attribute was being ignored by
pthread_mutex_init, so recursive/errorchecking mutexes were never
being used at all.

problem 2: ownership of recursive mutexes was not being enforced at
unlock time.
src/internal/pthread_impl.h
src/thread/pthread_mutex_init.c
src/thread/pthread_mutex_trylock.c
src/thread/pthread_mutex_unlock.c