Age | Commit message (Collapse) | Author |
|
* 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.
|
|
as required by Posix
* sysdeps/pthread/bits/once.h (__PTHREAD_ONCE_INIT): Cast initializer to
(struct __pthread_once).
|
|
* pthreadP.h: New file.
* sysdeps/generic/pt-kill.c (pthread_kill): Rename to __pthread_kill.
pthread_kill: New strong alias.
* sysdeps/hurd/pt-kill.c: Likewise.
* sysdeps/generic/raise.c: Include <pthreadP.h> instead of <pthread.h>.
Make __pthread_kill and __pthread_self weak.
(raise): Use __pthread_kill and __pthread_self instead of pthread_kill
and pthread_self.
|
|
|
|
|
|
* forward.c (struct atfork): Add dso_handle field.
(__register_atfork): Add dso_handle parameter. Store it it dso_handle field.
* sysdeps/generic/pt-atfork.c (__dso_handle): New variable.
(pthread_atfork): Pass address of __dso_handle to __register_atfork.
|
|
|
|
* sysdeps/pthread/bits/libc-lockP.h: Use IS_IN (libc) instead of !defined
NOT_IN_libc.
|
|
This reverts commit edb5bb83ec918dc6b77b3da5b246c056932d78d7.
|
|
|
|
|
|
|
|
* sysdeps/mach/hurd/pt-sigstate.c (__pthread_sigstate): Always remove
_SIG_CANT_MASK from blocked signals, like sigprocmask does.
|
|
* sysdeps/generic/pt-key-create.c (pthread_key_create): Rename to
__pthread_key_create.
(pthread_key_create): New strong_alias.
* sysdeps/generic/raise.c (raise): Add libc_hidden_def.
(gsignal): Add weak_alias.
* sysdeps/hurd/pt-key-create.c (__pthread_key_create): Remove hidden_def.
|
|
|
|
* sysdeps/hurd/pt-kill.c (pthread_kill): Lock ss lock before calling
_hurd_raise_signal. Return error returned by _hurd_raise_signal.
|
|
* sysdeps/generic/raise.c: Include <signal.h> and <unistd.h>.
(raise): Only set errno when calling pthread_kill, not kill.
|
|
* sysdeps/pthread/bits/semaphore.h: Include <bits/spinlock.h> and
<bits/pthread.h> instead of the full <pthread.h>.
|
|
* include/pthread/pthread.h: Prepend '__' to parameter names.
* sysdeps/mach/hurd/bits/pthread-np.h: Likewise.
|
|
* include/semaphore.h: Move to ...
* sysdeps/pthread/semaphore.h: ... here.
|
|
* sysdeps/generic/raise.c (pthread_self): Make reference weak.
|
|
* sysdeps/generic/raise.c (pthread_kill): Make ref weak.
(raise): Only call pthread_kill when it is not NULL. Call kill otherwise.
|
|
* sysdeps/generic/raise.c (raise): Do not call debug.
|
|
* sysdeps/generic/raise.c: Include <pthread.h> instead of non-existing
"sig-internal.h"
|
|
* sysdeps/generic/killpg.c: Remove file.
* sysdeps/generic/sigaddset.c: Likewise.
* sysdeps/generic/sigdelset.c: Likewise.
* sysdeps/generic/sigemptyset.c: Likewise.
* sysdeps/generic/sigfillset.c: Likewise.
* sysdeps/generic/siginterrupt.c: Likewise.
* sysdeps/generic/sigismember.c: Likewise.
* sysdeps/generic/signal.c: Likewise.
* sysdeps/generic/sigwait.c: Likewise.
|
|
* sysdeps/generic/raise.c (pthread_self): Make reference weak.
|
|
* sysdeps/generic/raise.c (pthread_kill): Make ref weak.
(raise): Only call pthread_kill when it is not NULL. Call kill otherwise.
|
|
* sysdeps/generic/raise.c (raise): Do not call debug.
|
|
* sysdeps/generic/raise.c: Include <pthread.h> instead of non-existing
"sig-internal.h"
|
|
* sysdeps/generic/killpg.c: Remove file.
* sysdeps/generic/sigaddset.c: Likewise.
* sysdeps/generic/sigdelset.c: Likewise.
* sysdeps/generic/sigemptyset.c: Likewise.
* sysdeps/generic/sigfillset.c: Likewise.
* sysdeps/generic/siginterrupt.c: Likewise.
* sysdeps/generic/sigismember.c: Likewise.
* sysdeps/generic/signal.c: Likewise.
* sysdeps/generic/sigwait.c: Likewise.
|
|
* configure: New file
* include/libc-symbols.h: Remove file
* include/set-hooks: Remove file
* sysdeps/i386/bits/spin-lock-inline.h: Move to...
* b/sysdeps/mach/i386/bits/spin-lock-inline.h: ... here.
* sysdeps/i386/bits/spin-lock.h: Move to...
* b/sysdeps/mach/i386/bits/spin-lock.h: ... here.
|
|
(code grabbed from glibc)
* libpthread/sysdeps/mach/hurd/pt-sigstate.c: Include <hurd/msg.h>
(__pthread_sigstate): Use _hurd_sigstate_lock/unlock instead of
__pthread_spin_lock on `ss->lock'. Check _hurd_sigstate_pending and
send a message to the signal thread if needed.
|
|
* sysdeps/generic/pt-once.c (__pthread_once): Call __memory_barrier before
testing the __run field.
|
|
So that the glibc makerules can find them instead of using the system ones.
* sysdeps/generic/bits/barrier-attr.h: Move to...
* sysdeps/pthread/bits/barrier-attr.: ... here.
* sysdeps/generic/bits/barrier.h: Move to...
* sysdeps/pthread/bits/barrier.: ... here.
* sysdeps/generic/bits/cancelation.h: Move to...
* sysdeps/pthread/bits/cancelation.: ... here.
* sysdeps/generic/bits/condition-attr.h: Move to...
* sysdeps/pthread/bits/condition-attr.: ... here.
* sysdeps/generic/bits/condition.h: Move to...
* sysdeps/pthread/bits/condition.: ... here.
* sysdeps/generic/bits/mutex-attr.h: Move to...
* sysdeps/pthread/bits/mutex-attr.: ... here.
* sysdeps/generic/bits/mutex.h: Move to...
* sysdeps/pthread/bits/mutex.: ... here.
* sysdeps/generic/bits/once.h: Move to...
* sysdeps/pthread/bits/once.: ... here.
* sysdeps/generic/bits/pthread-np.h: Move to...
* sysdeps/pthread/bits/pthread-np.: ... here.
* sysdeps/generic/bits/pthread.h: Move to...
* sysdeps/pthread/bits/pthread.: ... here.
* sysdeps/generic/bits/pthreadtypes.h: Move to...
* sysdeps/pthread/bits/pthreadtypes.: ... here.
* sysdeps/generic/bits/rwlock-attr.h: Move to...
* sysdeps/pthread/bits/rwlock-attr.: ... here.
* sysdeps/generic/bits/rwlock.h: Move to...
* sysdeps/pthread/bits/rwlock.: ... here.
* sysdeps/generic/bits/semaphore.h: Move to...
* sysdeps/pthread/bits/semaphore.: ... here.
* sysdeps/generic/bits/thread-attr.h: Move to...
* sysdeps/pthread/bits/thread-attr.: ... here.
* sysdeps/generic/bits/thread-specific.h: Move to...
* sysdeps/pthread/bits/thread-specific.: ... here.
|
|
* sysdeps/generic/bits/barrier-attr.h (__pthread_barrierattr): Rename
`pshared' field to `__pshared'.
* sysdeps/generic/bits/barrier.h (__pthread_barrier): Rename `lock',
`'queue', `pending', `count', `attr', and `data' fields to `__lock',
`__queue', `__pending', `__count', `__attr', and `__data'.
* sysdeps/generic/bits/cancelation.h (__pthread_cancelation_handler): Rename
`handler', `arg', and `next' fields to `__handler', `__arg', and `__next'.
* sysdeps/generic/bits/condition-attr.h (__pthread_condattr): Rename
`pshared' and `clock' fields to `__pshared', and `__clock'.
* sysdeps/generic/bits/mutex-attr.h (__pthread_mutexattr): Rename
`prioceiling', `protocol', `pshared', and `mutex_type' fields to
`__prioceiling', `__protocol', `__pshared', and `__mutex_type'.
* sysdeps/generic/bits/mutex.h (__pthread_mutex): Rename `cthreadscompat1',
`attr', `data', `owner', and `locks' fields to `__cthreadscompat1',
`__attr', `__data', `__owner', and `__locks'.
* sysdeps/generic/bits/once.h (__pthread_once): Rename `run' and `lock'
fields to `__run' and `__lock'.
* sysdeps/generic/bits/rwlock-attr.h (__pthread_rwlockattr): Rename
`psharead' field to `__pshared'.
* sysdeps/generic/bits/rwlock.h (__pthread_rwlock): Rename `readers',
`readerqueue', and `writerqueue' fields to `__readers', `__readerqueue', and
`__writerqueue'.
* sysdeps/generic/bits/thread-attr.h (__pthread_contentionscope): Rename
`schedparam', `stackaddr', `stacksize', `guardsize', `detachstate',
`inheritsched', `contentionscope', and `schedpolicy' fields to
`__schedparam', `__stackaddr', `__stacksize', `__guardsize',
`__detachstate', `__inheritsched', `__contentionscope', and
`__schedpolicy''.
* sysdeps/generic/bits/cancelation.h: Update code accordingly.
* pthread/pt-create.c: Likewise.
* pthread/pt-exit.c: Likewise.
* pthread/pt-getattr.c: Likewise.
* sysdeps/generic/pt-attr-getdetachstate.c: Likewise.
* sysdeps/generic/pt-attr-getguardsize.c: Likewise.
* sysdeps/generic/pt-attr-getinheritsched.c: Likewise.
* sysdeps/generic/pt-attr-getschedparam.c: Likewise.
* sysdeps/generic/pt-attr-getschedpolicy.c: Likewise.
* sysdeps/generic/pt-attr-getscope.c: Likewise.
* sysdeps/generic/pt-attr-getstackaddr.c: Likewise.
* sysdeps/generic/pt-attr-getstacksize.c: Likewise.
* sysdeps/generic/pt-attr-setdetachstate.c: Likewise.
* sysdeps/generic/pt-attr-setguardsize.c: Likewise.
* sysdeps/generic/pt-attr-setinheritsched.c: Likewise.
* sysdeps/generic/pt-attr-setschedparam.c: Likewise.
* sysdeps/generic/pt-attr-setschedpolicy.c: Likewise.
* sysdeps/generic/pt-attr-setscope.c: Likewise.
* sysdeps/generic/pt-attr-setstackaddr.c: Likewise.
* sysdeps/generic/pt-attr-setstacksize.c: Likewise.
* sysdeps/generic/pt-attr.c: Likewise.
* sysdeps/generic/pt-barrier-init.c: Likewise.
* sysdeps/generic/pt-barrier-wait.c: Likewise.
* sysdeps/generic/pt-barrier.c: Likewise.
* sysdeps/generic/pt-barrierattr-getpshared.c: Likewise.
* sysdeps/generic/pt-barrierattr-setpshared.c: Likewise.
* sysdeps/generic/pt-cond-timedwait.c: Likewise.
* sysdeps/generic/pt-cond.c: Likewise.
* sysdeps/generic/pt-condattr-getclock.c: Likewise.
* sysdeps/generic/pt-condattr-getpshared.c: Likewise.
* sysdeps/generic/pt-condattr-setclock.c: Likewise.
* sysdeps/generic/pt-condattr-setpshared.c: Likewise.
* sysdeps/generic/pt-mutex-destroy.c: Likewise.
* sysdeps/generic/pt-mutex-init.c: Likewise.
* sysdeps/generic/pt-mutex-timedlock.c: Likewise.
* sysdeps/generic/pt-mutex-transfer-np.c: Likewise.
* sysdeps/generic/pt-mutex-trylock.c: Likewise.
* sysdeps/generic/pt-mutex-unlock.c: Likewise.
* sysdeps/generic/pt-mutexattr-getprotocol.c: Likewise.
* sysdeps/generic/pt-mutexattr-getpshared.c: Likewise.
* sysdeps/generic/pt-mutexattr-gettype.c: Likewise.
* sysdeps/generic/pt-mutexattr-setprotocol.c: Likewise.
* sysdeps/generic/pt-mutexattr-setpshared.c: Likewise.
* sysdeps/generic/pt-mutexattr-settype.c: Likewise.
* sysdeps/generic/pt-mutexattr.c: Likewise.
* sysdeps/generic/pt-once.c: Likewise.
* sysdeps/generic/pt-rwlock-attr.c: Likewise.
* sysdeps/generic/pt-rwlock-timedrdlock.c: Likewise.
* sysdeps/generic/pt-rwlock-timedwrlock.c: Likewise.
* sysdeps/generic/pt-rwlock-tryrdlock.c: Likewise.
* sysdeps/generic/pt-rwlock-trywrlock.c: Likewise.
* sysdeps/generic/pt-rwlock-unlock.c: Likewise.
* sysdeps/generic/pt-rwlockattr-getpshared.c: Likewise.
* sysdeps/generic/pt-rwlockattr-setpshared.c: Likewise.
* sysdeps/mach/hurd/pt-attr-setstackaddr.c: Likewise.
* sysdeps/mach/hurd/pt-attr-setstacksize.c: Likewise.
* sysdeps/mach/hurd/pt-hurd-cond-timedwait.c: Likewise.
|
|
* sysdeps/generic/bits/thread-attr.h: Define __need_size_t macro, include
<stddef.h>.
|
|
* sysdeps/pthread/pthread-functions.h (pthread_functions): Rename
ptr_pthread_exit field to ptr___pthread_exit.
* pthread/pt-initialize.c (pthread_functions): Likewise.
|
|
* sysdeps/mach/hurd/pt-hurd-cond-timedwait.c (err): Initialize to 0.
|
|
* sysdeps/mach/hurd/pt-sysdep.c (_init_routine): Call ___pthread_init
instead of __pthread_init.
|
|
* sysdeps/mach/hurd/pt-sysdep.c (_init_routine): Use `stack' parameter
instead of hardcoding __libc_stack_end.
|
|
The libc-provided lockfile functions must be overriden by the libpthread
ones.
* sysdeps/pthread/flockfile.c (_IO_flockfile): Make alias weak.
* sysdeps/pthread/ftrylockfile.c (_IO_ftrylockfile): Likewise.
* sysdeps/pthread/funlockfile.c (_IO_funlockfile): Likewise.
|
|
* sysdeps/pthread/bits/libc-lockP.h: New file
* pthread/pthread-functions.h: Move to...
* sysdeps/pthread/pthread-functions.h: ... here.
|
|
* forward.c: (__libc_pthread_functions_init): Add variable
(FORWARD2): Use __libc_pthread_functions_init instead of testing
__libc_pthread_functions.ptr_##name value.
(FORWARD_NORETURN): Add macro.
(pthread_exit): Use FORWARD_NORETURN instead of FORWARD2.
* libc_pthread_init.c (__libc_pthread_init): Set
__libc_pthread_functions_init to 1.
* pthread/pthread-functions.h (__pthread_once, __pthread_rwlock_rdlock,
__pthread_rwlock_wrlock, __pthread_rwlock_unlock, __pthread_key_create,
__pthread_getspecific, __pthread_setspecific, _cthreads_flockfile,
_cthreads_funlockfile, _cthreads_ftrylockfile): Add prototypes.
(pthread_functions): Add ptr_pthread_once, ptr_pthread_rwlock_rdlock,
ptr_pthread_rwlock_wrlock, ptr_pthread_rwlock_unlock,
ptr_pthread_key_create, ptr_pthread_getspecific, ptr_pthread_setspecific,
ptr__IO_flockfile, ptr__IO_funlockfile, ptr__IO_ftrylockfile.
(__libc_pthread_functions_init): Add variable declaration.
(PTHFCT_CALL): Add macro.
* pthread/pt-initialize.c (pthread_functions): Initialize ptr_pthread_once,
ptr_pthread_rwlock_rdlock, ptr_pthread_rwlock_wrlock, pthread_rwlock_unlock,
ptr_ptr_pthread_key_create, pthread_getspecific, ptr_pthread_setspecific,
ptr_ptr__IO_flockfile, _IO_funlockfile, ptr__IO_ftrylockfile.
* sysdeps/generic/pt-once.c (pthread_once): Rename to __pthread_once
(pthread_once): Add strong alias.
* sysdeps/generic/pt-rwlock-rdlock.c (pthread_rwlock_rdlock): Rename to
__pthread_rwlock_rdlock
(pthread_rwlock_rdlock): Add strong alias.
* sysdeps/generic/pt-rwlock-wrlock.c (pthread_rwlock_wrlock): Rename to
__pthread_rwlock_wrlock
(pthread_rwlock_wrlock): Add strong alias.
* sysdeps/generic/pt-rwlock-unlock.c (pthread_rwlock_unlock): Rename to
__pthread_rwlock_unlock
(pthread_rwlock_unlock): Add strong alias.
* sysdeps/generic/pt-getspecific.c (pthread_getspecific): Rename to
__pthread_getspecific
(pthread_getspecific): Add strong alias.
* sysdeps/generic/pt-setspecific.c (pthread_setspecific): Rename to
__pthread_setspecific
(pthread_setspecific): Add strong alias.
* sysdeps/pthread/flockfile.c: Add file.
* sysdeps/pthread/ftrylockfile.c: Add file.
* sysdeps/pthread/funlockfile.c: Add file.
|
|
* pthread/pt-internal.h: Include <ldsodefs.h>
(_dl_allocate_tls, _dl_deallocate_tls): Remove declarations.
* sysdeps/mach/hurd/pt-sysdep.c (init_routine): Rename into _init_routine,
add `stack' parameter, return if __pthread_threads is already initialized,
pass stack address to __pthread_create_internal if any.
(init_routine): New function, calls init_routine with 0
(dynamic_init_routine): New constructor function, calls init_routine with
__libc_stack_end.
|
|
To avoid clashing with the __pthread_init hook.
* pthread/pt-initialize.c (__pthread_init): Rename into ___pthread_init.
* pthread/pt-internal.h: Likewise.
* sysdeps/mach/hurd/pt-sysdep.c: Likewise.
|
|
The barrier queue uses threads' next field, so it can not actually be
safely walked without holding the barrier lock.
* sysdeps/generic/pt-barrier-wait.c (pthread_barrier_wait): Record an
array of __pthread to wake while holding the lock, and wake them only
after unlocking it.
|
|
so that they may have a chance to actually preempt us. Otherwise
they will merely immediately fail to acquire the spin lock, and thus
preemption will have served no purpose.
* sysdeps/generic/pt-rwlock-unlock.c (pthread_rwlock_unlock): Record
an array of __pthread to wake while holding the lock, and wake them
only after unlocking it.
|
|
so that they may have a chance to actually preempt us. Otherwise they will
merely immediately fail to acquire the spin lock, and thus preemption
will have served no purpose.
* sysdeps/generic/pt-cond-brdcast.c (__pthread_cond_broadcast): Unlock
cond->__lock while waking the queued thread.
|
|
* pthread/pt-create.c: Include <hurd/resource.h>
(__pthread_create_internal): When `attr''s stacksize is 0, try to get
the desired size from the RLIMIT_STACK rlimit before defaulting to
PTHREAD_STACK_DEFAULT.
* sysdeps/generic/pt-attr.c (__pthread_default_attr): Set stacksize to
0 instead of PTHREAD_STACK_DEFAULT.
|