| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-07-01 Richard Henderson <rth@redhat.com>
* sysdeps/alpha/elf/pt-initfini.c: New file.
* sysdeps/alpha/pthread_spin_lock.S: New file.
* sysdeps/alpha/pthread_spin_trylock.S: New file.
* sysdeps/alpha/pthreaddef.h: New file.
* sysdeps/alpha/td_ta_map_lwp2thr.c: New file.
* sysdeps/alpha/tls.h: New file.
* sysdeps/unix/sysv/linux/alpha/Makefile: New file.
* sysdeps/unix/sysv/linux/alpha/bits/pthreadtypes.h: New file.
* sysdeps/unix/sysv/linux/alpha/bits/semaphore.h: New file.
* sysdeps/unix/sysv/linux/alpha/createthread.c: New file.
* sysdeps/unix/sysv/linux/alpha/fork.c: New file.
* sysdeps/unix/sysv/linux/alpha/lowlevellock.h: New file.
* sysdeps/unix/sysv/linux/alpha/pt-vfork.S: New file.
* sysdeps/unix/sysv/linux/alpha/pthread_once.c: New file.
* sysdeps/unix/sysv/linux/alpha/sem_post.c: New file.
* sysdeps/unix/sysv/linux/alpha/sysdep-cancel.h: New file.
|
|
|
|
|
|
|
| |
2003-07-01 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/pthread_once.S: Add correct
cleanup support and unwind info.
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/unwindbuf.sym: New file.
* sysdeps/unix/sysv/linux/Makefile: Add rule to build unwindbuf.h.
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-06-30 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/pthread_once.S (__pthread_once):
Use correct cleanup handler registration. Add unwind info.
* tst-once3.c: Add cleanup handler and check it is called.
* tst-once4.c: Likewise.
* tst-oncex3.c: New file.
* tst-oncex4.c: New file.
* Makefile: Add rules to build and run tst-oncex3 and tst-oncex4.
|
|
|
|
|
|
| |
2003-06-29 Ulrich Drepper <drepper@redhat.com>
* sysdeps/pthread/configure.in: Check for C cleanup handling in gcc.
|
|
|
|
|
|
| |
2003-06-27 Ulrich Drepper <drepper@redhat.com>
* rt/Makefile (CFLAGS-librt-cancellation.c): Define.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-06-26 Ulrich Drepper <drepper@redhat.com>
* sysdeps/pthread/librt-cancellation.c: Move __pthread_unwind
definition to the front.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Rename
the cleanup functions to make the names unique. Fix dwarf opcode
un unwind table.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Rename cleanup
functions to make the names unique. Fix CFA offset for two blocks.
|
| |
|
| |
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/ia64/bits/posix_opt.h: New file.
* sysdeps/unix/sysv/linux/x86_64/bits/posix_opt.h: New file.
|
| |
|
|
|
|
|
|
|
|
|
| |
* include/time.h: Define CLOCK_IDFIELD_SIZE.
* sysdeps/posix/clock_getres.c: Recognize thread CPU clock IDs.
* sysdeps/unix/clock_gettime.c: Likewise.
* sysdeps/unix/clock_settime.c: Likewise.
* sysdeps/unix/clock_nanosleep.c (CPUCLOCK_P): Adjust for new
clock id for thread CPU clocks.
|
|
|
|
|
|
|
|
|
|
| |
* sysdeps/pthread/aio_misc.h: Mark __aio_requests_mutex,
__aio_enqueue_request, __aio_find_req, __aio_find_req_fd,
__aio_free_request, __aio_notify, and __aio_sigqueue as hidden.
* sysdeps/pthread/aio_suspend.c (aio_suspend): Set errno to the result
of pthread_cond_wait if there was an error. Use pthread_cleanup_*
instead of __lbic_cleanup_region_*.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-06-22 Ulrich Drepper <drepper@redhat.com>
* pthreadP.h (__pthread_mutex_init_internal): Mark hidden.
(__pthread_mutex_lock_internal): Likewise.
(__pthread_mutex_unlock_internal): Likewise.
(__pthread_mutex_unlock_usercnt): Declare.
* pthread_mutex_destroy.c: Always fail if used in any way.
* pthread_mutex_init.c: Update comment.
* pthread_mutex_lock.c: If NO_INCR is not defined adjust __nusers.
* pthread_mutex_timedlock.c: Adjust __nusers.
* pthread_mutex_trylock.c: Adjust __nusers.
* pthread_mutex_unlock.c: Old code is in __pthread_mutex_unlock_usercnt
and public interfaces are wrapper with pass additional parameter.
__pthread_mutex_unlock_usercnt does not adjust __nusers if second
parameter zero.
* tst-mutex8.c: New file.
* Makefile (tests): Add tst-mutex8.
* sysdeps/pthread/pthread_cond_timedwait.c: Call
__pthread_mutex_unlock_usercnt.
* sysdeps/pthread/pthread_cond_wait.c: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_timedwait.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_wait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
* sysdeps/unix/sysv/linux/pthread_mutex_cond_lock.c: Define NO_INCR.
* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_mutex_t):
Add __nusers.
* sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.
* pthread_mutex_lock.c: Don't store THREAD_ID in __owner, use TID.
* pthread_mutex_timedlock.c: Likewise.
* pthread_mutex_trylock.c: Adjust __nusers.
* pthread_mutex_unlock.c: Compare with TID not THREAD_ID.
* tst-mutex9.c: New file.
* Makefile (tests): Add tst-mutex9.
* sysdeps/i386/tls.h: Remove THREAD_ID definition.
* sysdeps/ia64/tls.h: Likewise.
* sysdeps/powerpc/tls.h: Likewise.
* sysdeps/s390/tls.h: Likewise.
* sysdeps/sh/tls.h: Likewise.
* sysdeps/x86_64/tls.h: Likewise.
* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_mutex_t):
Change type of __owner.
* sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-06-19 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/ia64/sem_post.c: Move to...
* sysdeps/unix/sysv/linux/sem_post.c: ...here.
* sysdeps/unix/sysv/linux/sem_post.c: Move to...
* sysdeps/unix/sysv/linux/powerpc/sem_post.c: ... here. Pass nr + 1
instead of nr to lll_futex_wake. Only set errno and return -1
if err < 0.
* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (lll_futex_wait,
lll_futex_timed_wait, lll_futex_wake, lll_futex_requeue): On success
return actual return value from the syscall, not 0.
compat_timer_getoverrun.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/x86_64/register-dump.h (register_dump):
Fix completely broken impleentation. The second parameter is of
type struct ucontext*.
* sysdeps/x86_64/dl-machine.h (elf_machine_runtime_setup): Always
inline.
* sysdeps/i386/i686/dl-hash.h: Don't inline _dl_elf_hash.
* sysdeps/generic/dl-hash.h: Likewise.
* sysdeps/generic/memcmp.c: Remove inline from
memcmp_common_alignment and memcmp_not_common_alignment definition.
|
|
|
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/x86_64/lowlevellock.h (lll_mutex_lock):
Add ax to clobber list.
(lll_mutex_cond_lock): Likewise.
(lll_mutex_unlock): Likewise.
(lll_lock): Likewise.
(lll_unlock): Likewise.
|
|
|
|
|
|
|
|
|
| |
* sysdeps/unix/clock_nanosleep.c (clock_nanosleep): nanosleep
takes care of enabling cancellation.
* sysdeps/pthread/aio_suspend.c (aio_suspend): Make aio_suspend
cancelable. It's not correct to disable cancellation. Instead of
a cleanup handler.
|
|
|
|
|
|
|
| |
2003-06-17 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/sleep.c: Use CANCELLATION_P if defined before
returning because seconds==0.
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-06-17 Ulrich Drepper <drepper@redhat.com>
* tst-cancel4.c: Add tests for the socket and signal functions, pause.
Also test early cancellation before the thread reaches the cancellation
point.
* Makefile: Compile forward.c with exceptions.
* sysdeps/unix/sysv/linux/sleep.c: New file.
|
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/i386/dl-sysdep.h
(DL_SYSINFO_IMPLEMENTATION): Use CFI opcodes.
* sysdeps/unix/sysv/linux/i386/i686/dl-sysdep.h
(DL_SYSINFO_IMPLEMENTATION): Likewise.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-06-15 Ulrich Drepper <drepper@redhat.com>
Fix cancellation point handling wrt exception based cleanup.
* io/Makefile: Compile fcntl.c, poll.c, and lockf.c with exceptions.
* misc/Makefile: Compile pselect.c, readv.c, writev.c, and usleep.c
with exceptions.
* posix/Makefile: Compile pread.c, pread64.c, pwrite.c, pwrite64.c,
sleep.c, wait.c, waitid.c, and waitpid.c with exceptions.
* rt/Makefile: Compile aio_suspend.c and clock_nanosleep.c with
exceptions.
* signal/Makefile: Compile sigpause.c, sigsuspend.c, sigtimedwait.c,
sigwait.c, and sigwaitinfo.c with exceptions.
* stdlib/Makefile: Compile system.c with exceptions.
* sysvipc/Makefile: Compile msgrcv.c and msgsnd.c with exceptions.
* termios/Makefile: Compile tcdrain.c with exceptions.
* sysdeps/generic/lockf.c: Add comment explaining the cancellation
situation.
* sysdeps/generic/pselect.c: Likewise.
* sysdeps/posix/sigpause.c: Likewise.
* sysdeps/posix/system.c: Likewise.
* sysdeps/posix/waitid.c: Likewise.
* sysdeps/unix/sysv/linux/sleep.c: Likewise.
* sysdeps/unix/sysv/linux/usleep.c: Likewise.
* sysdeps/unix/sysv/linux/i386/sysdep.h: Major rewrite of
INTERNAL_SYSCALL to not use push inside asm statement so that
unwind info is correct around the syscall.
* sysdeps/unix/clock_nanosleep.c: Add cancellation support.
* sysdeps/unix/sysv/linux/clock_nanosleep.c: Likewise.
|
| |
|
|
|
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/check_pf.c (__check_pf): Use __close,
not close.
* inet/inet6_option.c (inet6_option_alloc): Add libc_hidden_def.
* include/netinet/in.h (inet6_option_alloc): Add libc_hidden_proto
definition.
|
|
|
|
|
| |
* sysdeps/x86_64/td_ta_map_lwp2thr.c (td_ta_map_lwp2thr): Pass FS
constant from <sys/reg.h> to ps_get_thread_area, not register contents.
|
| |
|
|
|
|
|
|
|
| |
2003-06-10 Ulrich Drepper <drepper@redhat.com>
* sysdeps/posix/getaddrinfo.c (getaddrinfo): Don't leak memory
from getifaddr calls.
|
|
|
|
|
|
|
| |
(__pthread_cond_signal): Use correct futex pointer in
__lll_mutex_lock_wait call.
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
|
|
|
|
|
|
|
| |
2003-06-09 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
(__pthread_cond_signal): Some more tweaks to handle cond_lock!=0.
|
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/s390/sem_wait.c (__new_sem_wait): Make
cancelable.
* sysdeps/unix/sysv/linux/s390/sem_timedwait.c (__sem_timedwait):
Likewise.
|
|
|
|
|
|
|
|
| |
2003-06-08 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/sysdep-cancel.h: Remove
hand-written CFI generation code. Since ENTRY/END also initiated
CFI frames this caused two CFI sets to be generated.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-06-07 Ulrich Drepper <drepper@redhat.com>
* cleanup_routine.c: New file.
* Versions (libpthread) [GLIBC_2.3.3]: Add __pthread_cleanup_routine.
* sysdeps/pthread/pthread.h: Add support for fully exception-based
cleanup handling.
* Makefile (libpthread-routines): Add cleanup_routine.
Add more CFLAGS variables to compile with exceptions. Add comments
why which file needs unwind tables.
(tests) [have-forced-unwind==yes]: Add tst-cancelx* and tst-cleanupx*
tests.
* tst-cancelx1.c: New file.
* tst-cancelx2.c: New file.
* tst-cancelx3.c: New file.
* tst-cancelx4.c: New file.
* tst-cancelx5.c: New file.
* tst-cancelx6.c: New file.
* tst-cancelx7.c: New file.
* tst-cancelx8.c: New file.
* tst-cancelx9.c: New file.
* tst-cancelx10.c: New file.
* tst-cancelx11.c: New file.
* tst-cancelx12.c: New file.
* tst-cancelx13.c: New file.
* tst-cancelx14.c: New file.
* tst-cancelx15.c: New file.
* tst-cleanupx0.c: New file.
* tst-cleanupx0.expect: New file.
* tst-cleanupx1.c: New file.
* tst-cleanupx2.c: New file.
* tst-cleanupx3.c: New file.
* tst-cleanup0.c: Make standard compliant.
* tst-cleanup1.c: Likewise.
* sysdeps/unix/sysv/linux/sem_timedwait.c: Add cancellation support.
* sysdeps/unix/sysv/linux/sem_wait.c: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/sem_timedwait.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/sem_wait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/sem_wait.S: Likewise.
* sysdeps/i386/tcb-offsets.sym: Add RESULT, CANCELHANDLING, and
CLEANUP_JMP_BUF.
* sysdeps/x86_64/tcb-offsets.sym: Likewise.
* tst-cancel12.c: New file.
* tst-cancel13.c: New file.
* tst-cancel14.c: New file.
* tst-cancel15.c: New file.
* Makefile (tests): Add tst-cancel12, tst-cancel13, tst-cancel14,
and tst-cancel15.
* tst-cancel1.c: Add some comments.
* sysdeps/unix/sysv/linux/x86_64/sem_timedwait.S: Compute relative
timeout correctly.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-06-05 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h (pthread_rwlock_t):
Change type of __writer element to int.
* sysdeps/unix/sysv/linux/ia64/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/s390/bits/pthreadtypes.h: Likewise.
* sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.
* sysdeps/i386/tcb-offsets.sym: Replace SELF entry with TID entry.
* sysdeps/x86_64/tcb-offsets.sym: Likewise.
* pthread_rwlock_trywrlock.c: Store TID not self pointer in __writer.
Compare with TID to determine deadlocks.
* sysdeps/pthread/pthread_rwlock_rdlock.c: Likewise.
* sysdeps/pthread/pthread_rwlock_timedrdlock.c: Likewise.
* sysdeps/pthread/pthread_rwlock_timedwrlock.: Likewise.
* sysdeps/pthread/pthread_rwlock_wrlock.c: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_rdlock.S: Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedrdlock.S:
Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_timedwrlock.S:
Likewise.
* sysdeps/unix/sysv/linux/i386/i486/pthread_rwlock_wrlock.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_rdlock.S: Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedrdlock.S:
Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_timedwrlock.S:
Likewise.
* sysdeps/unix/sysv/linux/x86_64/pthread_rwlock_wrlock.S: Likewise.
* Makefile (tests): Add tst-rwlock12.
* tst-rwlock12.c: New file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
__lll_timedlock_wait, lll_unlock_wake_cb, __lll_timedwait_tid):
Remove bogus hidden_proto.
* sysdeps/unix/sysv/linux/s390/libc-lowlevellock.c (___lll_lock):
Likewise.
* sysdeps/unix/sysv/linux/s390/lowlevellock.c (___lll_lock,
lll_unlock_wake_cb, ___lll_timedwait_tid): Likewise.
* sysdeps/unix/sysv/linux/s390/lowlevelmutex.c (___lll_mutex_lock,
___lll_mutex_timedlock): Likewise.
2003-06-05 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/lowlevellock.c (__lll_lock_wait,
__lll_timedlock_wait, lll_unlock_wake_cb, __lll_timedwait_tid):
Remove bogus hidden_proto.
* sysdeps/unix/sysv/linux/s390/libc-lowlevellock.c (___lll_lock):
Likewise.
* sysdeps/unix/sysv/linux/s390/lowlevellock.c (___lll_lock,
lll_unlock_wake_cb, ___lll_timedwait_tid): Likewise.
* sysdeps/unix/sysv/linux/s390/lowlevelmutex.c (___lll_mutex_lock,
___lll_mutex_timedlock): Likewise.
|
|
|
|
|
|
|
|
| |
2003-06-04 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/i386/i486/pthread_cond_signal.S
(__pthread_cond_signal): Add some code to eventually handle
cond_lock!=0.
|
|
|
|
|
|
|
|
|
| |
2003-06-01 Ulrich Drepper <drepper@redhat.com>
* elf/Makefile (CFLAGS-dl-runtime.c): Define.
* wcsmbs/wcpncpy.c (__wcpncpy): Fix broken implementation to match
stpncpy.
|
|
|
|
|
|
| |
2003-05-31 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/ia64/bits/sigaction.h (SA_NOCLDWAIT): Define.
|
|
|
|
|
|
|
|
|
| |
2003-05-31 Ulrich Drepper <drepper@redhat.com>
* libio/fileops.c (_IO_file_open): Don't mark as inline.
* sysdeps/ia64/elf/initfini.c ((gmon_initializer): Mark with
attribute used.
|
|
|
|
|
|
|
| |
2003-05-30 Ulrich Drepper <drepper@redhat.com>
* scripts/config.guess: Update from master copy.
* scripts/config.sub: Likewise.
|
|
|
|
| |
operation.
|
|
|
|
|
|
|
|
|
|
| |
2003-05-30 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/ia64/lowlevellock.h
(__lll_mutex_cond_lock): Add one to value parameter of
__lll_lock_wait to reflect reality in the futex syscall.
* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h
(lll_mutex_cond_lock): Likewise.
|
|
|
|
| |
reflect reality in the futex syscall.
|
| |
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/s390/lowlevellock.h
(__lll_mutex_unlock_force): New function
(lll_mutex_unlock_force): Use __lll_mutex_unlock_force.
|
|
|
|
|
|
|
|
| |
* sysdeps/unix/sysv/linux/ia64/lowlevellock.h
(__lll_mutex_unlock_force): New function.
(lll_mutex_unlock_force): Use __lll_mutex_unlock_force.
* tst-rwlock7.c (do_test): Use correct format specifier.
|
|
|
|
|
|
|
| |
2003-05-30 Jakub Jelinek <jakub@redhat.com>
* sysdeps/powerpc/powerpc32/elf/start.S: Make code compilable with
SHARED.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-05-29 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/ia64/lowlevellock.h (lll_futex_requeue):
Find break parameter in correct asm argument.
2003-05-30 Jakub Jelinek <jakub@redhat.com>
* sysdeps/unix/sysv/linux/powerpc/bits/pthreadtypes.h
(pthread_cond_t): Add __mutex.
* sysdeps/unix/sysv/linux/powerpc/lowlevellock.h (FUTEX_REQUEUE,
lll_futex_requeue, lll_mutex_unlock_force): Define.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-05-28 Kaz Kojima <kkojima@rr.iij4u.or.jp>
* sysdeps/sh/tcb-offsets.sym: Define MUTEX_FUTEX.
* sysdeps/unix/sysv/linux/sh/bits/pthreadtypes.h (pthread_cond_t):
Add __mutex field.
* sysdeps/unix/sysv/linux/sh/lowlevellock.h (SYSCALL_WITH_INST_PAD):
Define.
(lll_futex_wait, lll_futex_wake): Define.
* sysdeps/unix/sysv/linux/sh/sh4/lowlevellock.h: New file.
* sysdeps/unix/sysv/linux/sh/pthread_cond_broadcast.S: Try using
FUTEX_REQUEUE instead of FUTEX_WAIT.
* sysdeps/unix/sysv/linux/sh/pthread_cond_signal.S: Likewise.
* sysdeps/unix/sysv/linux/sh/pthread_cond_timedwait.S: Remember
mutex which was used in condvar structure. Call
__pthread_mutex_cond_lock instead of __pthread_mutex_lock_internal.
* sysdeps/unix/sysv/linux/sh/pthread_cond_wait.S: Likewise.
* sysdeps/unix/sysv/linux/sh/pthread_rwlock_rdlock.S: Don't
include tcb-offsets.h. Read wakeup value in locked region.
Use the value of gbr register as THREAD_ID.
* sysdeps/unix/sysv/linux/sh/pthread_rwlock_wrlock.S: Likewise.
* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedrdlock.S: Likewise.
* sysdeps/unix/sysv/linux/sh/pthread_rwlock_timedwrlock.S: Likewise.
* sysdeps/unix/sysv/linux/sh/sem_trywait.S: Remove futex related
macros.
|
|
|
|
|
|
|
| |
2003-05-28 Ulrich Drepper <drepper@redhat.com>
* sysdeps/pthread/pthread_cond_broadcast.c
(__pthread_cond_broadcast): Fix typo: MAX_INT -> INT_MAX.
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
2003-05-26 Ulrich Drepper <drepper@redhat.com>
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_broadcast.S: Fix
typo in register name.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_signal.S: Use parameters
correctly. Actually use requeue. Little optimization.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_timedwait.S: Store
mutex address early. Handle cancellation state as 32-bit value.
* sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S: Likewise.
Remove unnecessary label.
|