musl/src/thread
Bobby Bingham fdf5f1b131 clone: make clone a wrapper around __clone
The architecture-specific assembly versions of clone did not set errno on
failure, which is inconsistent with glibc.  __clone still returns the error
via its return value, and clone is now a wrapper that sets errno as needed.
The public clone has also been moved to src/linux, as it's not directly
related to the pthreads API.

__clone is called by pthread_create, which does not report errors via
errno.  Though not strictly necessary, it's nice to avoid clobbering errno
here.
2014-02-09 20:07:43 -06:00
..
arm clone: make clone a wrapper around __clone 2014-02-09 20:07:43 -06:00
i386 clone: make clone a wrapper around __clone 2014-02-09 20:07:43 -06: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
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 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 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 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