musl/src/thread
Rich Felker 8cfbc8be82 update license of njk contributed code (x86_64 asm)
these changes are based on the following communication via email:

"I hereby grant that all of the code I have contributed to musl on or
before April 23, 2012 may be licensed under the terms of the following
MIT license:

Copyright (c) 2011-2012 Nicholas J. Kain

Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE."
2012-05-05 00:02:04 -04:00
..
arm fix typo in arm clone() asm 2011-10-09 00:02:39 -04:00
i386 replace bad cancellation cleanup abi with a sane one 2012-02-09 02:33:08 -05:00
x86_64 update license of njk contributed code (x86_64 asm) 2012-05-05 00:02:04 -04:00
__futex.c global cleanup to use the new syscall interface 2011-03-20 00:16:43 -04:00
__lock.c ditch the priority inheritance locks; use malloc's version of lock 2012-04-24 16:32:23 -04:00
__set_thread_area.c overhaul clone syscall wrapping 2011-09-18 10:14:37 -04:00
__timedwait.c simplify unified timed wait code, drop support for newer method 2011-08-07 11:14:32 -04:00
__unmapself.c initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
__wait.c reduce some ridiculously large spin counts 2011-05-06 21:45:48 -04:00
__wake.c consistency: change all remaining syscalls to use SYS_ rather than __NR_ prefix 2011-04-06 20:32:53 -04:00
cancel_dummy.c use weak aliases rather than function pointers to simplify some code 2011-08-06 20:09:51 -04:00
cancel_impl.c fix cancellation failure in single-threaded programs 2012-01-22 17:19:37 -05:00
cancellation.c fix pthread_cleanup_pop(1) crash in non-thread-capable, static-linked programs 2012-02-28 10:13:35 -05:00
clone.c overhaul clone syscall wrapping 2011-09-18 10:14:37 -04:00
forkall.c overhaul clone syscall wrapping 2011-09-18 10:14:37 -04:00
pthread_atfork.c ditch the priority inheritance locks; use malloc's version of lock 2012-04-24 16:32:23 -04:00
pthread_attr_destroy.c initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
pthread_attr_getdetachstate.c fix pthread_attr_* implementations to match corrected prototypes 2011-03-11 09:51:14 -05:00
pthread_attr_getguardsize.c fix pthread_attr_* implementations to match corrected prototypes 2011-03-11 09:51:14 -05:00
pthread_attr_getschedparam.c implement dummy pthread_attr_[gs]etschedparam functions 2011-03-11 09:51:54 -05:00
pthread_attr_getscope.c fix pthread_attr_* implementations to match corrected prototypes 2011-03-11 09:51:14 -05:00
pthread_attr_getstacksize.c fix pthread_attr_* implementations to match corrected prototypes 2011-03-11 09:51:14 -05:00
pthread_attr_init.c initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
pthread_attr_setdetachstate.c reject invalid attribute settings 2011-03-07 15:46:37 -05:00
pthread_attr_setguardsize.c reorganize pthread data structures and move the definitions to alltypes.h 2011-02-17 17:16:20 -05:00
pthread_attr_setschedparam.c implement dummy pthread_attr_[gs]etschedparam functions 2011-03-11 09:51:54 -05:00
pthread_attr_setscope.c reject invalid attribute settings 2011-03-07 15:46:37 -05:00
pthread_attr_setstacksize.c enforce stack size min in pthread_attr_setstacksize 2011-03-04 00:59:14 -05:00
pthread_barrier_destroy.c next step making barrier self-sync'd destruction safe 2011-09-28 18:00:02 -04:00
pthread_barrier_init.c process-shared barrier support, based on discussion with bdonlan 2011-09-27 13:50:29 -04:00
pthread_barrier_wait.c fix excessive/insufficient wakes in __vm_unlock 2011-09-28 19:45:37 -04:00
pthread_barrierattr_destroy.c implement barrier attribute functions (essentially no-ops) 2011-03-07 15:42:52 -05:00
pthread_barrierattr_getpshared.c convert the barrier pshared option back to 0/1 values when getting it 2011-09-27 17:02:19 -04:00
pthread_barrierattr_init.c implement barrier attribute functions (essentially no-ops) 2011-03-07 15:42:52 -05:00
pthread_barrierattr_setpshared.c process-shared barrier support, based on discussion with bdonlan 2011-09-27 13:50:29 -04:00
pthread_cond_broadcast.c another cond var fix: requeue count race condition 2011-09-26 13:14:41 -04:00
pthread_cond_destroy.c synchronize cond var destruction with exiting waits 2011-10-02 22:58:28 -04:00
pthread_cond_init.c new futex-requeue-based pthread_cond_broadcast implementation 2011-09-25 02:38:03 -04:00
pthread_cond_signal.c redo cond vars again, use sequence numbers 2011-09-26 00:25:13 -04:00
pthread_cond_timedwait.c synchronize cond var destruction with exiting waits 2011-10-02 22:58:28 -04:00
pthread_cond_wait.c initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
pthread_condattr_destroy.c implement pthread_condattr_* interfaces 2011-03-07 16:20:12 -05:00
pthread_condattr_getclock.c implement pthread_condattr_* interfaces 2011-03-07 16:20:12 -05:00
pthread_condattr_getpshared.c implement pthread_condattr_* interfaces 2011-03-07 16:20:12 -05:00
pthread_condattr_init.c implement pthread_condattr_* interfaces 2011-03-07 16:20:12 -05:00
pthread_condattr_setclock.c disallow cpu time clocks as condattr clock values 2011-03-08 02:32:42 -05:00
pthread_condattr_setpshared.c implement pthread_condattr_* interfaces 2011-03-07 16:20:12 -05:00
pthread_create.c make pthread stacks non-executable 2012-05-04 22:51:59 -04:00
pthread_detach.c fix more instances of old a_xchg (use new a_swap name) 2011-09-16 14:33:51 -04:00
pthread_equal.c macro for pthread_equal 2011-08-14 15:17:36 -04:00
pthread_getconcurrency.c implement pthread_[sg]etconcurrency. 2011-05-30 11:31:07 -04:00
pthread_getspecific.c optimize POSIX TSD for fast pthread_getspecific 2011-03-03 18:30:44 -05:00
pthread_join.c fix serious bug in pthread_join 2011-09-11 12:35:41 -04:00
pthread_key_create.c add proper fuxed-based locking for stdio 2011-07-30 08:02:14 -04:00
pthread_kill.c fix race condition in pthread_kill 2011-06-14 01:35:51 -04:00
pthread_mutex_consistent.c implement robust mutexes 2011-03-17 20:41:37 -04:00
pthread_mutex_destroy.c initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
pthread_mutex_init.c implement robust mutexes 2011-03-17 20:41:37 -04:00
pthread_mutex_lock.c add fast path for normal mutexes back to pthread_mutex_lock 2011-08-07 04:50:02 -04:00
pthread_mutex_timedlock.c unify and overhaul timed futex waits 2011-08-02 21:11:36 -04:00
pthread_mutex_trylock.c recovering ownerdead robust mutex must reset recursive lock count 2011-10-03 00:27:47 -04:00
pthread_mutex_unlock.c simplify robust mutex unlock code path 2011-10-03 00:19:05 -04:00
pthread_mutexattr_destroy.c initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
pthread_mutexattr_getpshared.c implement pthread_mutexattr_[gs]etpshared functions 2011-03-08 02:33:37 -05:00
pthread_mutexattr_getrobust.c implement robust mutexes 2011-03-17 20:41:37 -04:00
pthread_mutexattr_gettype.c initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
pthread_mutexattr_init.c initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
pthread_mutexattr_setpshared.c implement pthread_mutexattr_[gs]etpshared functions 2011-03-08 02:33:37 -05:00
pthread_mutexattr_setrobust.c implement robust mutexes 2011-03-17 20:41:37 -04:00
pthread_mutexattr_settype.c initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
pthread_once.c fix major breakage in pthread_once (it was always deadlocking) 2011-03-08 12:08:40 -05:00
pthread_rwlock_destroy.c initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
pthread_rwlock_init.c initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
pthread_rwlock_rdlock.c overhaul rwlocks to address several issues 2011-08-03 10:21:32 -04:00
pthread_rwlock_timedrdlock.c overhaul rwlocks to address several issues 2011-08-03 10:21:32 -04:00
pthread_rwlock_timedwrlock.c overhaul rwlocks to address several issues 2011-08-03 10:21:32 -04:00
pthread_rwlock_tryrdlock.c overhaul rwlocks to address several issues 2011-08-03 10:21:32 -04:00
pthread_rwlock_trywrlock.c overhaul rwlocks to address several issues 2011-08-03 10:21:32 -04:00
pthread_rwlock_unlock.c fix failure-to-wake in rwlock unlock 2011-10-01 09:11:35 -04:00
pthread_rwlock_wrlock.c overhaul rwlocks to address several issues 2011-08-03 10:21:32 -04:00
pthread_rwlockattr_destroy.c implement pthread_rwlockattr_* (essentially no-ops) 2011-03-07 16:43:25 -05:00
pthread_rwlockattr_getpshared.c implement pthread_rwlockattr_* (essentially no-ops) 2011-03-07 16:43:25 -05:00
pthread_rwlockattr_init.c implement pthread_rwlockattr_* (essentially no-ops) 2011-03-07 16:43:25 -05:00
pthread_rwlockattr_setpshared.c implement pthread_rwlockattr_* (essentially no-ops) 2011-03-07 16:43:25 -05:00
pthread_self.c work around "signal loses thread pointer" issue with "approach 2" 2012-02-27 18:51:02 -05:00
pthread_setcancelstate.c fix minor bugs due to incorrect threaded-predicate semantics 2011-04-20 21:41:45 -04:00
pthread_setcanceltype.c handle pending cancellation when enabling async cancellation 2011-09-04 21:37:07 -04:00
pthread_setconcurrency.c implement pthread_[sg]etconcurrency. 2011-05-30 11:31:07 -04:00
pthread_setspecific.c optimize POSIX TSD for fast pthread_getspecific 2011-03-03 18:30:44 -05:00
pthread_sigmask.c clean up pthread_sigmask/sigprocmask dependency order 2011-07-30 21:09:14 -04:00
pthread_spin_destroy.c initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
pthread_spin_init.c initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
pthread_spin_lock.c fix more instances of old a_xchg (use new a_swap name) 2011-09-16 14:33:51 -04:00
pthread_spin_trylock.c fix more instances of old a_xchg (use new a_swap name) 2011-09-16 14:33:51 -04:00
pthread_spin_unlock.c prepare pthread_spin_unlock for archs that need memory barriers 2011-03-24 23:06:48 -04:00
pthread_testcancel.c use weak aliases rather than function pointers to simplify some code 2011-08-06 20:09:51 -04:00
sem_destroy.c implement POSIX semaphores 2011-03-04 00:45:59 -05:00
sem_getvalue.c implement POSIX semaphores 2011-03-04 00:45:59 -05:00
sem_init.c fix uninitialized waiters field in semaphores 2011-04-19 13:16:59 -04:00
sem_open.c fix useless use of potentially-uninitialized mode variable in sem_open 2011-06-26 16:34:05 -04:00
sem_post.c report sem value overflows in sem_post 2011-10-26 00:28:47 -04:00
sem_timedwait.c fix sem_timedwait bug introduced in timedwait unification 2011-08-02 21:15:20 -04:00
sem_trywait.c overhaul posix semaphores to fix destructability race 2011-08-02 19:19:09 -04:00
sem_unlink.c implement POSIX semaphores 2011-03-04 00:45:59 -05:00
sem_wait.c implement POSIX semaphores 2011-03-04 00:45:59 -05:00
synccall.c pthread and synccall cleanup, new __synccall_wait op 2011-08-12 10:32:22 -04:00
syscall_cp.c overhaul pthread cancellation 2011-04-17 11:43:03 -04:00