summaryrefslogtreecommitdiff
path: root/src/thread/pthread_mutex_trylock.c
AgeCommit message (Collapse)AuthorLines
2011-04-17debloat: use __syscall instead of syscall where possibleRich Felker-1/+1
don't waste time (and significant code size due to function call overhead!) setting errno when the result of a syscall does not matter or when it can't fail.
2011-04-14cheap trick to further optimize locking normal mutexesRich Felker-1/+1
2011-03-29revert mutex "optimization" that turned out to be worseRich Felker-1/+1
2011-03-20global cleanup to use the new syscall interfaceRich Felker-2/+2
2011-03-17implement robust mutexesRich Felker-3/+35
some of this code should be cleaned up, e.g. using macros for some of the bit flags, masks, etc. nonetheless, the code is believed to be working and correct at this point.
2011-03-17unify lock and owner fields of mutex structureRich Felker-3/+2
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-17optimize contended normal mutex case; add int compare-and-swap atomicRich Felker-1/+1
2011-03-16simplify logic, slightly optimize contended case for non-default mutex typesRich Felker-4/+2
2011-03-16correct error returns for error-checking mutexesRich Felker-1/+1
2011-03-08simplify and optimize pthread_mutex_trylockRich Felker-17/+16
2011-03-08fix and optimize non-default-type mutex behaviorRich Felker-15/+12
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-02-17reorganize pthread data structures and move the definitions to alltypes.hRich Felker-13/+13
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-12initial check-in, version 0.5.0v0.5.0Rich Felker-0/+28