musl/src/thread
Rich Felker eca335fc04 eliminate explicit (long) casts when making syscalls
this practice came from very early, before internal/syscall.h defined
macros that could accept pointer arguments directly and handle them
correctly. aside from being ugly and unnecessary, it looks like it
will be problematic when we add support for 32-bit ABIs on archs where
registers (and syscall arguments) are 64-bit, e.g. x32 and mips n32.
2014-01-06 22:05:54 -05:00
..
arm add support for TLS variant I, presently needed for arm and mips 2012-10-15 18:51:53 -04:00
i386 beginnings of full TLS support in shared libraries 2012-10-04 21:01:56 -04:00
microblaze fix order of syscall args for microblaze clone syscall 2012-10-19 00:27:03 -04:00
mips fix clobbering of caller's stack in mips __clone function 2013-09-16 11:52:39 -04:00
powerpc powerpc: handle syscall error in clone. 2012-11-19 16:58:09 +01:00
x86_64 fix some indention-with-spaces that crept in 2012-09-29 01:14:07 -04:00
__futex.c global cleanup to use the new syscall interface 2011-03-20 00:16:43 -04:00
__lock.c fix potential deadlock bug in libc-internal locking logic 2013-09-20 02:00:27 -04:00
__set_thread_area.c generic c version of __set_thread_area for archs where it works 2012-07-11 11:34:46 -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 eliminate explicit (long) casts when making syscalls 2014-01-06 22:05:54 -05: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 remove leftover cp_sp cruft from cancellation code, fix small bug 2012-05-25 00:35:09 -04:00
cancellation.c simplify cancellation push/pop slightly 2012-05-23 14:13:54 -04:00
clone.c overhaul clone syscall wrapping 2011-09-18 10:14:37 -04:00
lock_ptc.c support for TLS in dynamic-loaded (dlopen) modules 2012-10-05 11:51:50 -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_get.c make pthread attribute types structs, even when they just have one field 2013-07-22 13:57:02 -04:00
pthread_attr_init.c include cleanups: remove unused headers and add feature test macros 2013-12-12 05:09:18 +00: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_setinheritsched.c add support for thread scheduling (POSIX TPS option) 2012-11-11 15:38:04 -05:00
pthread_attr_setschedparam.c add support for thread scheduling (POSIX TPS option) 2012-11-11 15:38:04 -05:00
pthread_attr_setschedpolicy.c add support for thread scheduling (POSIX TPS option) 2012-11-11 15:38:04 -05:00
pthread_attr_setscope.c add support for thread scheduling (POSIX TPS option) 2012-11-11 15:38:04 -05:00
pthread_attr_setstack.c pthread stack treatment overhaul for application-provided stacks, etc. 2013-02-01 22:10:40 -05:00
pthread_attr_setstacksize.c pthread stack treatment overhaul for application-provided stacks, etc. 2013-02-01 22:10:40 -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 make pthread attribute types structs, even when they just have one field 2013-07-22 13:57:02 -04:00
pthread_barrier_wait.c fix extremely rare but dangerous race condition in robust mutexes 2012-08-17 17:13:53 -04:00
pthread_barrierattr_destroy.c implement barrier attribute functions (essentially no-ops) 2011-03-07 15:42:52 -05:00
pthread_barrierattr_init.c clean up sloppy nested inclusion from pthread_impl.h 2012-11-08 17:04:20 -05:00
pthread_barrierattr_setpshared.c make pthread attribute types structs, even when they just have one field 2013-07-22 13:57:02 -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 make pthread attribute types structs, even when they just have one field 2013-07-22 13:57:02 -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 use restrict everywhere it's required by c99 and/or posix 2008 2012-09-06 22:44:55 -04:00
pthread_cond_wait.c use restrict everywhere it's required by c99 and/or posix 2008 2012-09-06 22:44:55 -04:00
pthread_condattr_destroy.c implement pthread_condattr_* interfaces 2011-03-07 16:20:12 -05:00
pthread_condattr_init.c clean up sloppy nested inclusion from pthread_impl.h 2012-11-08 17:04:20 -05:00
pthread_condattr_setclock.c make pthread attribute types structs, even when they just have one field 2013-07-22 13:57:02 -04:00
pthread_condattr_setpshared.c make pthread attribute types structs, even when they just have one field 2013-07-22 13:57:02 -04:00
pthread_create.c omit CLONE_PARENT flag to clone in pthread_create 2013-09-16 10:56:01 -04:00
pthread_detach.c fix several locks that weren't updated right for new futex-based __lock 2012-07-12 11:23:43 -04:00
pthread_equal.c macro for pthread_equal 2011-08-14 15:17:36 -04:00
pthread_getattr_np.c support configurable page size on mips, powerpc and microblaze 2013-09-15 02:00:32 +00:00
pthread_getconcurrency.c implement pthread_[sg]etconcurrency. 2011-05-30 11:31:07 -04:00
pthread_getcpuclockid.c support cputime clocks for processes/threads other than self 2013-06-08 11:36:41 -04:00
pthread_getschedparam.c fix syscall argument bug in pthread_getschedparam 2013-06-26 22:02:23 -04:00
pthread_getspecific.c optimize POSIX TSD for fast pthread_getspecific 2011-03-03 18:30:44 -05:00
pthread_join.c clean up sloppy nested inclusion from pthread_impl.h 2012-11-08 17:04:20 -05:00
pthread_key_create.c fix invalid implicit pointer conversion in pthread_key_create 2013-10-04 01:06:42 -04:00
pthread_kill.c fix several locks that weren't updated right for new futex-based __lock 2012-07-12 11:23:43 -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_getprioceiling.c add stub versions of some missing optional pthread interfaces 2012-11-17 18:42:16 -05:00
pthread_mutex_init.c make pthread attribute types structs, even when they just have one field 2013-07-22 13:57:02 -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_setprioceiling.c add stub versions of some missing optional pthread interfaces 2012-11-17 18:42:16 -05:00
pthread_mutex_timedlock.c use restrict everywhere it's required by c99 and/or posix 2008 2012-09-06 22:44:55 -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 fix extremely rare but dangerous race condition in robust mutexes 2012-08-17 17:13:53 -04:00
pthread_mutexattr_destroy.c initial check-in, version 0.5.0 2011-02-12 00:22:29 -05:00
pthread_mutexattr_init.c clean up sloppy nested inclusion from pthread_impl.h 2012-11-08 17:04:20 -05:00
pthread_mutexattr_setprotocol.c add stub versions of some missing optional pthread interfaces 2012-11-17 18:42:16 -05:00
pthread_mutexattr_setpshared.c make pthread attribute types structs, even when they just have one field 2013-07-22 13:57:02 -04:00
pthread_mutexattr_setrobust.c make pthread attribute types structs, even when they just have one field 2013-07-22 13:57:02 -04:00
pthread_mutexattr_settype.c make pthread attribute types structs, even when they just have one field 2013-07-22 13:57:02 -04: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 clean up sloppy nested inclusion from pthread_impl.h 2012-11-08 17:04:20 -05:00
pthread_rwlock_rdlock.c overhaul rwlocks to address several issues 2011-08-03 10:21:32 -04:00
pthread_rwlock_timedrdlock.c use restrict everywhere it's required by c99 and/or posix 2008 2012-09-06 22:44:55 -04:00
pthread_rwlock_timedwrlock.c use restrict everywhere it's required by c99 and/or posix 2008 2012-09-06 22:44:55 -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_init.c clean up sloppy nested inclusion from pthread_impl.h 2012-11-08 17:04:20 -05:00
pthread_rwlockattr_setpshared.c make pthread attribute types structs, even when they just have one field 2013-07-22 13:57:02 -04:00
pthread_self.c ensure that thread dtv pointer is never null to optimize __tls_get_addr 2013-06-03 16:35:59 -04: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_setschedparam.c fix failure of pthread_setschedparam to pass correct param to kernel 2013-06-26 21:34:44 -04:00
pthread_setschedprio.c add support for thread scheduling (POSIX TPS option) 2012-11-11 15:38:04 -05:00
pthread_setspecific.c optimize POSIX TSD for fast pthread_getspecific 2011-03-03 18:30:44 -05:00
pthread_sigmask.c include cleanups: remove unused headers and add feature test macros 2013-12-12 05:09:18 +00: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 use restrict everywhere it's required by c99 and/or posix 2008 2012-09-06 22:44:55 -04:00
sem_init.c fix uninitialized waiters field in semaphores 2011-04-19 13:16:59 -04:00
sem_open.c fix temp file leak in sem_open on successful creation of new semaphore 2013-06-26 21:41:51 -04:00
sem_post.c report sem value overflows in sem_post 2011-10-26 00:28:47 -04:00
sem_timedwait.c use restrict everywhere it's required by c99 and/or posix 2008 2012-09-06 22:44:55 -04:00
sem_trywait.c retry on cas failures in sem_trywait 2012-07-24 00:51:36 -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 include cleanups: remove unused headers and add feature test macros 2013-12-12 05:09:18 +00:00
syscall_cp.c overhaul pthread cancellation 2011-04-17 11:43:03 -04:00
tls.c beginnings of full TLS support in shared libraries 2012-10-04 21:01:56 -04:00
vmlock.c fix extremely rare but dangerous race condition in robust mutexes 2012-08-17 17:13:53 -04:00