summaryrefslogtreecommitdiff
path: root/sysdeps
AgeCommit message (Collapse)Author
2018-03-28Fix coding styleSamuel Thibault
2018-03-28Fix coding styleSamuel Thibault
2018-03-28Fix coding styleSamuel Thibault
2018-03-28Fix coding styleSamuel Thibault
2018-03-28Fix coding styleSamuel Thibault
2018-03-28Fix coding styleSamuel Thibault
2018-03-28Fix coding styleSamuel Thibault
2018-03-28Fix coding styleSamuel Thibault
2018-03-19Move bits/thread-specific.h to bits/types/__pthread_key.hSamuel Thibault
* sysdeps/pthread/bits/thread-specific.h: Move file to... * sysdeps/pthread/bits/types/__pthread_key.h: ... here. * Makefile (headers): Update accordingly. * sysdeps/generic/pthread.h: Likewise. * sysdeps/pthread/bits/pthreadtypes.h: Likewise.
2018-03-19Move bits/thread-attr.h to bits/types/struct___pthread_attr.hSamuel Thibault
* sysdeps/pthread/bits/thread-attr.h: Move file to... * sysdeps/pthread/bits/types/struct___pthread_attr.h: ... here. * Makefile (headers): Update accordingly. * sysdeps/generic/pthread.h: Likewise. * sysdeps/pthread/bits/pthreadtypes.h: Likewise.
2018-03-19Move bits/rwlock.h to bits/types/struct___pthread_rwlock.hSamuel Thibault
* sysdeps/pthread/bits/rwlock.h: Move file to... * sysdeps/pthread/bits/types/struct___pthread_rwlock.h: ... here. * Makefile (headers): Update accordingly. * sysdeps/generic/pthread.h: Likewise. * sysdeps/pthread/bits/pthreadtypes.h: Likewise.
2018-03-19Move bits/rwlock-attr.h to bits/types/struct___pthread_rwlockattr.hSamuel Thibault
* sysdeps/pthread/bits/rwlock-attr.h: Move file to... * sysdeps/pthread/bits/types/struct___pthread_rwlockattr.h: ... here. * Makefile (headers): Update accordingly. * sysdeps/generic/pthread.h: Likewise. * sysdeps/pthread/bits/pthreadtypes.h: Likewise.
2018-03-19Move bits/once.h to bits/types/struct___pthread_once.hSamuel Thibault
* sysdeps/pthread/bits/once.h: Move file to... * sysdeps/pthread/bits/types/struct___pthread_once.h: ... here. * Makefile (headers): Update accordingly. * sysdeps/generic/pthread.h: Likewise. * sysdeps/pthread/bits/pthreadtypes.h: Likewise.
2018-03-19Move bits/mutex-attr.h to bits/types/struct___pthread_mutexattr.hSamuel Thibault
* sysdeps/pthread/bits/mutex-attr.h: Move file to... * sysdeps/pthread/bits/types/struct___pthread_mutexattr.h: ... here. * Makefile (headers): Update accordingly. * sysdeps/generic/pthread.h: Likewise. * sysdeps/mach/hurd/bits/types/struct___pthread_mutex.h: Likewise. * sysdeps/pthread/bits/pthreadtypes.h: Likewise. * sysdeps/pthread/bits/types/struct___pthread_mutex.h: Likewise.
2018-03-19Move bits/condition.h to bits/types/struct___pthread_cond.hSamuel Thibault
* sysdeps/pthread/bits/condition.h: Move file to... * sysdeps/pthread/bits/types/struct___pthread_cond.h: ... here. * Makefile (headers): Update accordingly. * sysdeps/generic/pthread.h: Likewise. * sysdeps/pthread/bits/pthreadtypes.h: Likewise.
2018-03-19Move bits/condition-attr.h to bits/types/struct___pthread_condattr.hSamuel Thibault
* sysdeps/pthread/bits/condition-attr.h: Move file to... * sysdeps/pthread/bits/types/struct___pthread_condattr.h: ... here. * Makefile (headers): Update accordingly. * sysdeps/generic/pthread.h: Likewise. * sysdeps/pthread/bits/pthreadtypes.h: Likewise.
2018-03-19Move bits/barrier.h to bits/types/struct___pthread_barrier.hSamuel Thibault
* sysdeps/pthread/bits/barrier.h: Move file to... * sysdeps/pthread/bits/types/struct___pthread_barrier.h: ... here. * Makefile (headers): Update accordingly. * sysdeps/generic/pthread.h: Likewise. * sysdeps/pthread/bits/pthreadtypes.h: Likewise.
2018-03-19Move bits/barrier-attr.h to bits/types/struct___pthread_barrierattr.hSamuel Thibault
* sysdeps/pthread/bits/barrier-attr.h: Move file to... * sysdeps/pthread/bits/types/struct___pthread_barrierattr.h: ... here. * Makefile (headers): Update accordingly. * sysdeps/generic/pthread.h: Likewise. * sysdeps/pthread/bits/pthreadtypes.h: Likewise.
2018-03-19Move bits/mutex.h to bits/types/struct___pthread_mutex.hSamuel Thibault
* sysdeps/mach/hurd/bits/mutex.h: Move file to... * sysdeps/mach/hurd/bits/types/struct___pthread_mutex.h: ... here. * sysdeps/pthread/bits/mutex.h: Move file to... * sysdeps/pthread/bits/types/struct___pthread_mutex.h: ... here. * Makefile (headers): Update accordingly. * sysdeps/generic/pthread.h: Likewise. * sysdeps/pthread/bits/pthreadtypes.h: Likewise.
2018-03-19Fix commentSamuel Thibault
2018-03-19Move bits/spin-lock.h to bits/types/__pthread_spinlock_t.hSamuel Thibault
* sysdeps/mach/bits/spin-lock.h: Move file to... * sysdeps/mach/bits/types/__pthread_spinlock_t.h: ... here. * Makefile (headers): Move bits/spin-lock.h to bits/types/__pthread_spinlock_t.h. * pthread/pt-spin-inlines.c: Update accordingly. * sysdeps/generic/pthread.h: Likewise. * sysdeps/mach/bits/spin-lock-inline.h: Likewise. * sysdeps/pthread/bits/barrier.h: Likewise. * sysdeps/pthread/bits/condition.h: Likewise. * sysdeps/pthread/bits/mutex.h: Likewise. * sysdeps/pthread/bits/once.h: Likewise. * sysdeps/pthread/bits/pthreadtypes.h: Likewise. * sysdeps/pthread/bits/rwlock.h: Likewise. * sysdeps/pthread/bits/semaphore.h: Likewise.
2018-03-19Synchronize semaphore.h with glibcSamuel Thibault
* sysdeps/pthread/semaphore.h (SEM_FAILED, sem_t): Move definitions to... * sysdeps/pthread/bits/semaphore.h: ... this file.
2018-03-19Avoid installing private pthread.hSamuel Thibault
It was actually by mistake that sysdeps/pthread/pthread.h was getting installed and that we'd have an include/pthread/pthread.h. Let's simplify this. * sysdeps/pthread/pthread.h: Move file content to... * ./sysdeps/pthread/pthreadP.h: ... here. * sysdeps/generic/pthread/pthread.h: Move file to... * sysdeps/generic/pthread.h: ... here. * Makefile (headers): Remove pthread/pthread.h. * Makeconfig (includes): Remove -I$(..)htl/include. * pthread/cthreads-compat.c: Include <pthreadP.h> instead of <pthread.h>
2018-03-19Move pthread/pthreadtypes.h to bits/pthreadtypes.hSamuel Thibault
* Makefile (headers): Remove pthread/pthreadtypes.h. * sysdeps/generic/pthread/pthread.h: Include <bits/pthreadtypes.h> instead of <pthread/pthreadtypes.h>. * sysdeps/generic/timer_routines.h: Likewise. * sysdeps/pthread/pthread/pthreadtypes.h: Move file content to... * sysdeps/pthread/bits/pthreadtypes.h: ... this file. Do not include <pthread/pthreadtypes.h>
2018-03-19Remove bits/pt-atomic.hSamuel Thibault
* pthread/pt-create.c: Include <atomic.h> instead of <bits/pt-atomic.h>. (__pthread_total): Change type from __atomic_t to unsigned int. (__pthread_create_internal): Use atomic_increment and atomic_decrement instead of __atomic_inc and __atomic_dec. * pthread/pt-dealloc.c: Include <atomic.h> instead of <bits/pt-atomic.h>. (__pthread_dealloc): Use atomic_decrement_and_test instead of __atomic_dec_and_test. * pthread/pt-exit.c: Include <atomic.h> instead of <bits/pt-atomic.h>. (__pthread_exit): Use atomic_decrement_and_test instead of __atomic_dec_and_test. * pthread/pt-internal.h: Include <atomic.h> instead of <bits/pt-atomic.h>. (struct __pthread): Use unsigned int type for nr_refs field instead of __atomic_t. (__pthread_total): Use unsigned int type instead of nr_refs.
2018-03-19Remove bits/memory.hSamuel Thibault
* sysdeps/generic/pt-once.c: Include <atomic.h> instead of <bits/memory.h> (__pthread_once): Use atomic_full_barrier instead of __memory_barrier. * sysdeps/i386/bits/memory.h: Remove file.
2018-03-18Use sched_param for nowSamuel Thibault
This exposes more structure names than desired, but we can see how to fix that another way later. * sysdeps/pthread/bits/thread-attr.h (__need_schedparam): Do not define macro. (struct __pthread_attr): Make __schedparam field struct sched_param instead of struct __sched_param. * sysdeps/generic/pt-attr.c (__pthread_default_attr): Use sched_priority instead of __sched_priority. * sysdeps/generic/pt-getschedparam.c (__pthread_getschedparam): Likewise. * sysdeps/generic/timer_routines.h (thread_attr_compare): Likewise.
2018-03-18Remove __need_pthread_mutex / __pthread_mutex_definedSamuel Thibault
We do not actually use them. * sysdeps/mach/hurd/bits/mutex.h: Always include content. * sysdeps/pthread/bits/mutex.h: Always include content.
2018-03-18Fix getting typesSamuel Thibault
* pthread/pt-internal.h: Include <bits/types/res_state.h> instead of defining __need_res_state and including <resolv.h>. * sysdeps/pthread/semaphore.h [__USE_XOPEN2K]: Include <bits/types/struct_timespec.h> instead of defining __need_timespec and including <time.h>.
2018-03-03Fix copyright years and addressesAmos Jeffries
* sysdeps/mach/hurd/bits/mutex.h: reformat copyright blurb intro to match other files * replace Free Software Foundation address using gnu.org URL from upstream glibc copyright blurbs. * apply upstream glibc scripts/update-copyrights * update copyright date syntax per upstream glibc request
2018-03-03Increase default thread stack to 8MiBSamuel Thibault
Linux' default is 8MiB and applications sometimes assume as much. * sysdeps/mach/hurd/pt-sysdep.h (PTHREAD_STACK_DEFAULT): Set macro to 8MiB.
2018-02-24Fix pthread_mutex_trylock return valueSamuel Thibault
* sysdeps/mach/hurd/pt-mutex-trylock.c (__pthread_mutex_trylock): Return EBUSY on failure instead of -1.
2018-02-18Add thread_attr_compare helper functionSamuel Thibault
* sysdeps/generic/timer_routines.h: New file.
2018-01-27Fix duplicate definition of LIBPTHREAD_VERSIONSamuel Thibault
Now that libpthread is built along glibc, it should follow that versioning anyway. * Makefile (pthread-version): Do not define. * sysdeps/pthread/Makefile [$(subdir) == posix] (CFLAGS-confstr.c): Set -DLIBPTHREAD_VERSION='"HTL $(version)"'.
2018-01-27Use pthread_key for libc_keySamuel Thibault
* sysdeps/pthread/pthread-functions.h (struct pthread_functions): Rename ptr_pthread_key_create, ptr_pthread_getspecific, ptr_pthread_setspecific fields into ptr___pthread_key_create, ptr___pthread_getspecific, ptr___pthread_setspecific * pthread/pt-initialize.c (struct pthread_functions): Likewise. * sysdeps/pthread/libc-lockP.h (__libc_key_t): Define type. [IS_IN (libpthread)] (PTFAVAIL, __libc_ptf_call, __libc_ptf_call_always): Directly call pthread functions. (__libc_key_create): Define macro to calling __pthread_key_create. (__libc_getspecific): Define macro to calling __pthread_getspecific. (__libc_setspecific): Define macro to calling __pthread_setspecific.
2018-01-27Fix warningSamuel Thibault
* sysdeps/pthread/flockfile.c: Do not include <libio.h> * sysdeps/pthread/funlockfile.c: Likewise.
2018-01-27Fix warningSamuel Thibault
* sysdeps/mach/hurd/pt-sigstate-init.c: Include <hurd/signal.h>
2018-01-27Add missing prototypesSamuel Thibault
* sysdeps/generic/pthread/pthread.h (pthread_mutexattr_getrobust, pthread_mutexattr_getrobust_np, pthread_mutexattr_setrobust, pthread_mutexattr_setrobust_np, pthread_rwlockattr_getkind_np, pthread_rwlockattr_setkind_np): Add prototypes.
2018-01-25Fix spurious whitespacesSamuel Thibault
2018-01-21Versions: Add missing symbol export from libcSamuel Thibault
* sysdeps/pthread/Versions (__mach_port_allocate): Add symbol.
2018-01-21Move Version to sysdeps so the normal sysdeps mechanism worksSamuel Thibault
to cope with the removal of add-ons mechanism. * pthread/Versions: Move to sysdeps/pthread/.
2018-01-06Move headers to sysdeps so the normal sysdeps mechanism worksSamuel Thibault
to cope with the removal of add-ons mechanism. * include/pthread/pthread.h: rename to sysdeps/generic/pthread/pthread.h * include/pthread/pthreadtypes.h: rename to sysdeps/generic/pthread/pthreadtypes.h * pthreadP.h: rename to sysdeps/pthread/pthreadP.h
2018-01-06Remove use of `internal_function'Samuel Thibault
Recent glibc does not define it any more. * sysdeps/pthread/pthread-functions.h (__libc_pthread_init): Do not qualify with internal_function.
2018-01-06Move key management to sysdeps/genericSamuel Thibault
Now that it does not use libihash any more, it is not hurd-dependent any more. * sysdeps/hurd/pt-destroy-specific.c: Move to sysdeps/generic/pt-destroy-specific.c * sysdeps/hurd/pt-key-create.c: Move to sysdeps/generic/pt-key-create.c. * sysdeps/hurd/pt-key-delete.c: Move to sysdeps/generic/pt-key-delete.c. * sysdeps/hurd/pt-key.h: Move to sysdeps/generic/pt-key.h. * sysdeps/hurd/pt-getspecific.c: Move to sysdeps/generic/pt-getspecific.c. * sysdeps/hurd/pt-init-specific.c: Move to sysdeps/generic/pt-init-specific.c. * sysdeps/hurd/pt-setspecific.c: Move to sysdeps/generic/pt-setspecific.c.
2017-12-27Make pthread_mutex use gsyncAgustina Arzille
* Makefile (libpthread-routines): Add pt-mutexattr-getrobust pt-mutexattr-setrobust pt-mutex-consistent. * include/pthread/pthreadtypes.h (__pthread_mutex_robustness): New enum, containing __PTHREAD_MUTEX_STALLED, __PTHREAD_MUTEX_ROBUST. * include/pthread/pthread.h [__USE_XOPEN2K] (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST): New macros. [__USE_XOPEN2K8] (pthread_mutex_consistent, pthread_mutex_consistent_np): New declarations. * sysdeps/mach/hurd/bits/mutex.h sysdeps/mach/hurd/pt-mutex-consistent.c sysdeps/mach/hurd/pt-mutex-destroy.c sysdeps/mach/hurd/pt-mutex-getprioceiling.c sysdeps/mach/hurd/pt-mutex-init.c sysdeps/mach/hurd/pt-mutex-lock.c sysdeps/mach/hurd/pt-mutex-setprioceiling.c sysdeps/mach/hurd/pt-mutex-timedlock.c sysdeps/mach/hurd/pt-mutex-transfer-np.c sysdeps/mach/hurd/pt-mutex-trylock.c sysdeps/mach/hurd/pt-mutex-unlock.c sysdeps/mach/hurd/pt-mutex.h sysdeps/mach/hurd/pt-mutexattr-destroy.c sysdeps/mach/hurd/pt-mutexattr-getprioceiling.c sysdeps/mach/hurd/pt-mutexattr-getprotocol.c sysdeps/mach/hurd/pt-mutexattr-getpshared.c sysdeps/mach/hurd/pt-mutexattr-getrobust.c sysdeps/mach/hurd/pt-mutexattr-gettype.c sysdeps/mach/hurd/pt-mutexattr-init.c sysdeps/mach/hurd/pt-mutexattr-setprioceiling.c sysdeps/mach/hurd/pt-mutexattr-setprotocol.c sysdeps/mach/hurd/pt-mutexattr-setpshared.c sysdeps/mach/hurd/pt-mutexattr-setrobust.c sysdeps/mach/hurd/pt-mutexattr-settype.c sysdeps/mach/hurd/pt-mutexattr.c: New files
2017-11-05Make pthread_spinlock use gsyncAgustina Arzille
* pthread/pt-spin-inlines.c (pthread_spin_lock): Define weak alias for __pthread_spin_lock. * sysdeps/mach/bits/spin-lock-inline.h: Include <lock-intern.h> instead of <machine-lock.h>. (__pthread_spin_trylock, __pthread_spin_unlock): Use __spin_lock_t type instead of __lock. (__pthread_spin_lock): Define as inline only, use __spin_lock and __spin_lock_t type. * sysdeps/mach/bits/spin-lock.h: Do not include <machine-lock.h> (__pthread_spinlock_t): Use volatile int instead of __spin_lock_t. (__PTHREAD_SPIN_LOCK_INITIALIZER): Define to 0. * sysdeps/mach/i386/bits/spin-lock-inline.h: Remove file. * sysdeps/mach/i386/bits/spin-lock.h: Remove file. * sysdeps/posix/pt-spin.c (pthread_spin_lock, __pthread_spin_lock): Remove weak aliases, provided by pt-spin-inlines.c
2017-11-05Add missing internal namesSamuel Thibault
Follow-up 2b7d0800f314e0abf370b2b6f6272a2ddb875464 ('Fix exposing symbols') * sysdeps/generic/pt-mutexattr-destroy.c (__pthread_mutexattr_destroy): Define. (pthread_mutexattr_destroy): Redefine as alias. * sysdeps/generic/pt-mutexattr-init.c (__pthread_mutexattr_init): Define. (pthread_mutexattr_init): Redefine as alias. * sysdeps/generic/pt-mutexattr-settype.c (__pthread_mutexattr_settype): Define. (pthread_mutexattr_settype): Redefine as alias.
2017-09-26Avoid exposing mach_port_set_qlimitSamuel Thibault
* sysdeps/mach/pt-thread-alloc.c (create_wakeupmsg): Call __mach_port_set_qlimit instead of mach_port_set_qlimit.
2017-09-26Remove libihash useSamuel Thibault
It poses compilation bootstrapping inconvenience, non-standard symbol exposition, and this is overkill, considering the usual use of TSD, and the availability of TLS. * sysdeps/hurd/pt-key.h: Do not include <hurd/ihash.h>. (PTHREAD_KEY_MEMBERS): Turn thread_specifics to a void**, add unsigned thread_specifics_size. * sysdeps/hurd/pt-init-specific.c (__pthread_init_specific): Initialize thread_specifics_size to 0. * sysdeps/hurd/pt-setspecific.c: Do not include <hurd/ihash.h>. (__pthread_setspecific): Expand and access thread_specifics array instead of hash table. * sysdeps/hurd/pt-getspecific.c: Do not include <hurd/ihash.h>. (__pthread_getspecific): Access thread_specifics array instead of hash table. * sysdeps/hurd/pt-key-delete.c (pthread_key_delete): Clean thread_specifics array instead of hash table. * sysdeps/hurd/pt-destroy-specific.c: Do not include <hurd/ihash.h>. (__pthread_destroy_specific): Clean and free thread_specifics array instead of hash table. * Makeconfig (LDLIBS-tst-interpose-static-thread): Remove -lihash. (LDLIBS-tst-linkall-static): Remove -lihash. * Makefile (HURDLIBS): Remove ihash. (LDLIBS-pthread.so): Remove -lihash. * libpthread.a: Remove -lihash. * libpthread_pic.a: Remove -lihash_pic.
2017-09-25Fix symbol expositionSamuel Thibault
* sysdeps/generic/pt-rwlock-rdlock.c (pthread_rwlock_rdlock): Make alias weak. * sysdeps/generic/pt-rwlock-unlock.c (pthread_rwlock_unlock): Likewise. * sysdeps/generic/pt-rwlock-wrlock.c (pthread_rwlock_wrlock): Likewise. * sysdeps/generic/sem-timedwait.c (sem_timedwait): Likewise. * sysdeps/generic/pt-rwlock-timedrdlock.c (pthread_rwlock_timedrdlock): Make it a weak alias. * sysdeps/generic/pt-rwlock-timedwrlock.c (pthread_rwlock_timedwrlock): Likewise.