musl/src/thread
Rich Felker df15168cf8 replace all remaining internal uses of pthread_self with __pthread_self
prior to version 1.1.0, the difference between pthread_self (the
public function) and __pthread_self (the internal macro or inline
function) was that the former would lazily initialize the thread
pointer if it was not already initialized, whereas the latter would
crash in this case. since lazy initialization is no longer supported,
use of pthread_self no longer makes sense; it simply generates larger,
slower code.
2014-06-10 04:02:40 -04:00
..
arm clone: make clone a wrapper around __clone 2014-02-09 20:07:43 -06:00
i386 add thread-pointer support for pre-2.6 kernels on i386 2014-06-10 03:36:56 -04:00
microblaze clone: make clone a wrapper around __clone 2014-02-09 20:07:43 -06: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
sh rename superh port to "sh" for consistency 2014-02-27 22:03:25 -05:00
x32 x32 port (diff against vanilla x86_64) 2014-02-23 11:09:16 +01:00
x86_64 clone: make clone a wrapper around __clone 2014-02-09 20:07:43 -06: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 mostly-cosmetic fixups to x32 port merge 2014-02-23 05:43:09 -05:00
cancel_impl.c replace all remaining internal uses of pthread_self with __pthread_self 2014-06-10 04:02:40 -04:00
cancellation.c simplify cancellation push/pop slightly 2012-05-23 14:13:54 -04:00
clone.c clone: make clone a wrapper around __clone 2014-02-09 20:07:43 -06: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 replace all remaining internal uses of pthread_self with __pthread_self 2014-06-10 04:02:40 -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 replace all remaining internal uses of pthread_self with __pthread_self 2014-06-10 04:02:40 -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 replace all remaining internal uses of pthread_self with __pthread_self 2014-06-10 04:02:40 -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 always initialize thread pointer at program start 2014-03-24 16:57:11 -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 replace all remaining internal uses of pthread_self with __pthread_self 2014-06-10 04:02:40 -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 replace all remaining internal uses of pthread_self with __pthread_self 2014-06-10 04:02:40 -04:00
pthread_mutex_trylock.c replace all remaining internal uses of pthread_self with __pthread_self 2014-06-10 04:02:40 -04:00
pthread_mutex_unlock.c replace all remaining internal uses of pthread_self with __pthread_self 2014-06-10 04:02:40 -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 deadlock race in pthread_once 2014-04-15 20:42:39 -04: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 always initialize thread pointer at program start 2014-03-24 16:57:11 -04:00
pthread_setcancelstate.c always initialize thread pointer at program start 2014-03-24 16:57:11 -04:00
pthread_setcanceltype.c replace all remaining internal uses of pthread_self with __pthread_self 2014-06-10 04:02:40 -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