8 Commits

Author SHA1 Message Date
Rich Felker
b1c43161c2 unify lock and owner fields of mutex structure
this change is necessary to free up one slot in the mutex structure so
that we can use doubly-linked lists in the implementation of robust
mutexes.
2011-03-17 12:21:32 -04:00
Rich Felker
e914f8b7ec optimize contended normal mutex case; add int compare-and-swap atomic 2011-03-17 12:14:40 -04:00
Rich Felker
1d59f1eddb simplify logic, slightly optimize contended case for non-default mutex types 2011-03-16 16:49:42 -04:00
Rich Felker
d4f9e0b364 correct error returns for error-checking mutexes 2011-03-16 16:25:00 -04:00
Rich Felker
31e06075d5 simplify and optimize pthread_mutex_trylock 2011-03-08 12:20:10 -05:00
Rich Felker
4820f9268d 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.
2011-03-08 03:41:05 -05:00
Rich Felker
e882756311 reorganize pthread data structures and move the definitions to alltypes.h
this allows sys/types.h to provide the pthread types, as required by
POSIX. this design also facilitates forcing ABI-compatible sizes in
the arch-specific alltypes.h, while eliminating the need for
developers changing the internals of the pthread types to poke around
with arch-specific headers they may not be able to test.
2011-02-17 17:16:20 -05:00
Rich Felker
0b44a0315b initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00