Rich Felker
|
56fbaa3bbe
make all objects used with atomic operations volatile
|
10 éve |
Rich Felker
|
0fc317d83c
factor cancellation cleanup push/pop out of futex __timedwait function
|
10 éve |
Rich Felker
|
c0ed5a201b
suppress EINTR in sem_wait and sem_timedwait
|
10 éve |
Rich Felker
|
fff5469303
make non-waiting paths of sem_[timed]wait and pthread_join cancelable
|
10 éve |
Rich Felker
|
f5fb20b0e9
refrain from spinning on locks when there is already a waiter
|
10 éve |
Rich Felker
|
2ff714c613
spin in sem_[timed]wait before performing futex wait
|
10 éve |
Rich Felker
|
bc09d58c04
make futex operations use private-futex mode when possible
|
10 éve |
Rich Felker
|
400c5e5c83
use restrict everywhere it's required by c99 and/or posix 2008
|
12 éve |
Rich Felker
|
bdd893377f
fix sem_timedwait bug introduced in timedwait unification
|
13 éve |
Rich Felker
|
ec381af902
unify and overhaul timed futex waits
|
13 éve |
Rich Felker
|
88c4e72031
overhaul posix semaphores to fix destructability race
|
13 éve |
Rich Felker
|
feee98903c
overhaul pthread cancellation
|
14 éve |
Rich Felker
|
a113434cd6
major semaphore improvements (performance and correctness)
|
14 éve |
Rich Felker
|
b470030f83
overhaul cancellation to fix resource leaks and dangerous behavior with signals
|
14 éve |
Rich Felker
|
cfe581b6bc
fix some semaphore wait semantics (race condition deadlock and error checking)
|
14 éve |
Rich Felker
|
9fe28f703d
fix off-by-one error in sem_(timed)wait (using old sem value instead of new)
|
14 éve |
Rich Felker
|
6fc5fdbdc7
implement POSIX semaphores
|
14 éve |