Age | Commit message (Collapse) | Author |
|
* 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.
|
|
* 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.
|
|
|
|
* 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.
|
|
* sysdeps/pthread/semaphore.h (SEM_FAILED, sem_t): Move definitions
to...
* sysdeps/pthread/bits/semaphore.h: ... this file.
|
|
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>
|
|
* 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>
|
|
* 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.
|
|
* 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.
|
|
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.
|
|
We do not actually use them.
* sysdeps/mach/hurd/bits/mutex.h: Always include content.
* sysdeps/pthread/bits/mutex.h: Always include content.
|
|
* 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>.
|
|
* 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
|
|
Linux' default is 8MiB and applications sometimes assume as much.
* sysdeps/mach/hurd/pt-sysdep.h (PTHREAD_STACK_DEFAULT): Set macro to
8MiB.
|
|
* sysdeps/mach/hurd/pt-mutex-trylock.c (__pthread_mutex_trylock): Return
EBUSY on failure instead of -1.
|
|
* sysdeps/generic/timer_routines.h: New file.
|
|
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)"'.
|
|
* 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.
|
|
* sysdeps/pthread/flockfile.c: Do not include <libio.h>
* sysdeps/pthread/funlockfile.c: Likewise.
|
|
* sysdeps/mach/hurd/pt-sigstate-init.c: Include <hurd/signal.h>
|
|
* 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.
|
|
|
|
* sysdeps/pthread/Versions (__mach_port_allocate): Add symbol.
|
|
to cope with the removal of add-ons mechanism.
* pthread/Versions: Move to sysdeps/pthread/.
|
|
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
|
|
Recent glibc does not define it any more.
* sysdeps/pthread/pthread-functions.h (__libc_pthread_init): Do not
qualify with internal_function.
|
|
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.
|
|
* 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
|
|
* 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
|
|
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.
|
|
* sysdeps/mach/pt-thread-alloc.c (create_wakeupmsg): Call
__mach_port_set_qlimit instead of mach_port_set_qlimit.
|
|
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.
|
|
* 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.
|
|
* sysdeps/hurd/pt-key.h (__pthread_key_lock_ready): Use
__pthread_mutexattr_init, __pthread_mutexattr_settype,
_pthread_mutex_init, __pthread_mutexattr_destroy, __pthread_once instead
of pthread_mutexattr_init, pthread_mutexattr_settype,pthread_mutex_init,
pthread_mutexattr_destroy, pthread_once.
|
|
Libc uses some thread functions, but should not expose the corresponding
symbols, so use aliases.
* Versions (__cthread_detach, __cthread_fork, __cthread_keycreate,
__cthread_getspecific, __cthread_setspecific, __pthread_getattr_np,
__pthread_attr_getstack): Add symbols
* pthread/cthreads-compat.c (cthread_t, cthread_fn_t, cthread_key_t): Do
not define.
(cthread_detach): Rename to __cthread_detach.
(cthread_detach): Define as weak alias to __cthread_detach.
(cthread_fork, cthread_keycreate, cthread_getspecific,
cthread_setspecific): Likewise.
* pthread/pt-getattr.c (pthread_getattr_np): Likewise.
* sysdeps/generic/pt-attr-getstack.c (pthread_attr_getstack): Likewise.
* sysdeps/pthread/pthread.h (__cthread_t, __cthread_key_t,
__cthread_fn_t, __cthread_fork, __cthread_detach, __cthread_keycreate,
__cthread_getspecific, __cthread_setspecific, __pthread_getattr_np,
__pthread_attr_getstack): Declare.
|
|
* sysdeps/i386/bits/pthreadtypes-arch.h: New file.
* sysdeps/pthread/bits/thread-shared-types.h: New file.
* sysdeps/pthread/bits/pthreadtypes.h: Include
<thread-shared-types.h>
|
|
* sysdeps/generic/pt-attr.c
(__pthread_default_attr.__schedparam): Use __sched_priority
field name instead of sched_priority.
|
|
* sysdeps/generic/pt-getschedparam.c (__pthread_getschedparam): Return
SCHED_OTHER and priority 0. Remove stub warning.
|
|
* include/pthread.h: Move to...
* sysdeps/pthread/pthread.h: ... here.
|
|
* Versions (__pthread_threads): Add in GLIBC_PRIVATE.
* pthreadP.h (__pthread_threads): Declare.
* sysdeps/generic/raise.c (__pthread_threads): Make symbol weak.
(raise): Check for __pthread_threads before calling __pthread_self.
|
|
* sysdeps/generic/old_pt-atfork.c: New file.
* Makefile (libpthread-routines): Add old_pt-atfork.
(libpthread-static-only-routines): Add pt-atfork.
[build-shared=yes] (install): Explicit $(inst_libdir)/libpthread.so
[build-shared=yes] $(inst_libdir)/libpthread.so: Replace with script to
link libpthread_nonshared.a in.
[build-shared=yes] (tests): Link libpthread_nonshared.a in addition to
libpthread.so.
(generated): Add libpthread_nonshared.a.
|
|
* sysdeps/pthread/libc-lockP.h [IS_IN (libpthread)]: Do not make __pthread
symbols weak.
|
|
* sysdeps/generic/pt-atfork.c: Include <fork.h>
|
|
|
|
* sysdeps/generic/fork.h: New file.
* forward.c: Include <fork.h>.
(__unregister_atfork): New function.
|
|
* sysdeps/pthread/Makefile (librt-sysdep_routines) [subdir = rt]: Add
timer_routines.
|
|
|
|
* sysdeps/mach/pt-thread-terminate.c (__pthread_thread_terminate): Cast
stack address to vm_address_t before calling __thread_terminate_release.
|
|
* sysdeps/pthread/flockfile.c (__flockfile): Fix old-style function
definition.
* sysdeps/pthread/ftrylockfile.c (__ftrylockfile): Likewise.
* sysdeps/pthread/funlockfile.c (__funlockfile): Likewise.
|
|
* pthread/pt-alloc.c (__pthread_alloc): Use __pthread_rwlock_wrlock and
__pthread_rwlock_unlock instead of pthread_rwlock_wrlock and
pthread_rwlock_unlock.
* pthread/pt-create.c (__pthread_create_internal): Use__pthread_rwlock_rdlock and
__pthread_rwlock_unlock instead of pthread_rwlock_rdlock and
pthread_rwlock_unlock.
* pthread/pt-dealloc.c (__pthread_dealloc): Use
__pthread_cond_broadcast, __pthread_mutex_lock, and
__pthread_mutex_unlock instead of pthread_cond_broadcast,
pthread_mutex_lock, and pthread_mutex_unlock
* pthread/pt-exit.c (__pthread_exit): Use __pthread_setcancelstate and
__pthread_cond_broadcast instead of pthread_setcancelstate and
pthread_cond_broadcast.
* pthread/pt-internal.h (__pthread_getid, __pthread_setid): Use
__pthread_rwlock_rdlock, __pthread_rwlock_wrlock, and
__pthread_rwlock_unlock instead of pthread_rwlock_rdlock,
pthread_rwlock_wrlock, and pthread_rwlock_unlock
* pthread/pt-join.c (pthread_join): Use __pthread_cond_wait instead of
pthread_cond_wait.
* sysdeps/hurd/pt-key-delete.c (pthread_key_delete): Use
__pthread_rwlock_rdlock and __pthread_rwlock_unlock instead of
pthread_rwlock_rdlock and pthread_rwlock_unlock.
|