musl/src/thread
Rich Felker 2c074b0d6c transition to using functions for internal signal blocking/restoring
there are several reasons for this change. one is getting rid of the
repetition of the syscall signature all over the place. another is
sharing the constant masks without costly GOT accesses in PIC.

the main motivation, however, is accurately representing whether we
want to block signals that might be handled by the application, or all
signals.
2013-04-26 19:48:01 -04: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 update mips cancellation-point syscall asm with 7-arg and r25 fixes 2012-09-15 02:24:12 -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 ditch the priority inheritance locks; use malloc's version of lock 2012-04-24 16:32:23 -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 reduce some ridiculously large spin counts 2011-05-06 21:45:48 -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 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 fix some restrict-qualifier mismatches in newly added interfaces 2012-11-27 09:44:30 -05:00
pthread_attr_init.c clean up sloppy nested inclusion from pthread_impl.h 2012-11-08 17:04:20 -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_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 use restrict everywhere it's required by c99 and/or posix 2008 2012-09-06 22:44:55 -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 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 clean up sloppy nested inclusion from pthread_impl.h 2012-11-08 17:04:20 -05: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 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 transition to using functions for internal signal blocking/restoring 2013-04-26 19:48: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 implement pthread_getattr_np 2013-03-31 23:25:55 -04:00
pthread_getconcurrency.c implement pthread_[sg]etconcurrency. 2011-05-30 11:31:07 -04:00
pthread_getcpuclockid.c add stub versions of some missing optional pthread interfaces 2012-11-17 18:42:16 -05:00
pthread_getschedparam.c add support for thread scheduling (POSIX TPS option) 2012-11-11 15:38:04 -05: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 add proper fuxed-based locking for stdio 2011-07-30 08:02:14 -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 clean up sloppy nested inclusion from pthread_impl.h 2012-11-08 17:04:20 -05: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 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 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 implement pthread_rwlockattr_* (essentially no-ops) 2011-03-07 16:43:25 -05:00
pthread_self.c remove __SYSCALL_SSLEN arch macro in favor of using public _NSIG 2013-03-26 23:07:31 -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 add support for thread scheduling (POSIX TPS option) 2012-11-11 15:38:04 -05: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 remove __SYSCALL_SSLEN arch macro in favor of using public _NSIG 2013-03-26 23:07:31 -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 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 protect sem_open against cancellation 2012-09-30 19:44:45 -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 synccall signal handler need not handle dead threads anymore 2013-04-26 17:46:58 -04: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