compiler/pthread: port latest version
commitcf3c28004155fdcf54b6d52469221a2565791160
authordeadwood <deadwood@fb15a70f-31f2-0310-bbcc-cdcc74a49acc>
Tue, 24 Mar 2015 20:11:20 +0000 (24 20:11 +0000)
committerdeadwood <deadwood@fb15a70f-31f2-0310-bbcc-cdcc74a49acc>
Tue, 24 Mar 2015 20:11:20 +0000 (24 20:11 +0000)
tree61cef9a3a7934f0e3b8453d51d34e09fa1bc8a56
parent75e7972ebf7fdb611b4d6f66847c70e804c042ee
compiler/pthread: port latest version

Fixed:
- TLS keys: threads overwriting each other's keys, destructors not being
called per thread
- mutexes: better compatibility with the normal and errorchecking ones
- thread creation: no longer wastes the signals of the parent task
- once functions: fixed slow initializers, multiple threads could enter
- cleanup handlers: the functions were never called
- a lot of non-standard compliant behavior fixed

New features:
- timed mutexes
- rwlocks
- barriers
- semaphores
- thread cancellation: fairly limited, deferred only. adding all the
cancellation points would require C library integration.

git-svn-id: https://svn.aros.org/svn/aros/trunk/AROS@50228 fb15a70f-31f2-0310-bbcc-cdcc74a49acc
compiler/pthread/README.md [new file with mode: 0644]
compiler/pthread/debug.h
compiler/pthread/mmakefile.src
compiler/pthread/pthread.c
compiler/pthread/pthread.h
compiler/pthread/sched.c
compiler/pthread/sched.h
compiler/pthread/semaphore.c [new file with mode: 0644]
compiler/pthread/semaphore.h [copied from compiler/pthread/sched.h with 51% similarity]