aboutsummaryrefslogtreecommitdiff
path: root/nptl/sysdeps/unix
AgeCommit message (Collapse)Author
2012-10-10Take lock in pthread_cond_wait cleanup handler only when neededSiddhesh Poyarekar
[BZ #14652] When a thread waiting in pthread_cond_wait with a PI mutex is cancelled after it has returned successfully from the futex syscall but just before async cancellation is disabled, it enters its cancellation handler with the mutex held and simply calling a mutex_lock again will result in a deadlock. Hence, it is necessary to see if the thread owns the lock and try to lock it only if it doesn't.
2012-10-05Unlock mutex before going back to waiting for PI mutexesSiddhesh Poyarekar
[BZ #14417] A futex call with FUTEX_WAIT_REQUEUE_PI returns with the mutex locked on success. If such a successful thread is pipped to the cond_lock by another spuriously woken waiter, it could be sent back to wait on the futex with the mutex lock held, thus causing a deadlock. So it is necessary that the thread relinquishes the mutex before going back to sleep.
2012-10-02Fix clone flag name in comment to CLONE_CHILD_CLEARTID.Siddhesh Poyarekar
2012-10-01Fix exception table for i386 pthread_cond_waitSiddhesh Poyarekar
[BZ #14477] Add an additional entry in the exception table to jump to __condvar_w_cleanup2 instead of __condvar_w_cleanup for PI mutexes when %ebx contains the address of the futex instead of the condition variable.
2012-09-25Fix bugs in powerpc pthread_once.Alan Modra
Ref gcc.gnu.org/bugzilla/show_bug.cgi?id=52839#c10 Release barriers are needed to ensure that any memory written by init_routine is seen by other threads before *once_control changes. In the case of clear_once_control we need to flush any partially written state.
2012-09-01Remove __ASSUME_POSIX_CPU_TIMERS.Joseph Myers
2012-08-31Fix sem_post race (bug 14532).Joseph Myers
2012-08-17Make libio compile without _IO_MTSAFE_IO.Roland McGrath
2012-08-16Remove __ASSUME_POSIX_TIMERS.Joseph Myers
2012-08-08Remove __ASSUME_TGKILL.Joseph Myers
2012-07-25Remove unused pseudo_end labelAndreas Schwab
2012-06-23SH: __lll_robust_timedlock_wait: Simplify CFI directives.Thomas Schwinge
2012-05-30Use x86-64 bits/pthreadtypes.h/semaphore.h for i386/x86-64H.J. Lu
2012-05-30Remove use of INTDEF/INTUSE in nptlAndreas Schwab
2012-05-28SH: Add CFI directives.Chung-Lin Tang
2012-05-28SH: Add CFI directives.Chung-Lin Tang
2012-05-25i386 port of the pthread SystemTap probesRayson Ho
2012-05-25Add systemtap static probe points in generic and x86_64 pthread code.Roland McGrath
2012-05-17Fix warnings on Linux/i686Andreas Jaeger
Fixes: ../sysdeps/i386/dl-machine.h:336:30: warning: unused variable ‘refsym’ [-Wunused-variable] rtld.c:1435:3: warning: implicit declaration of function ‘_dl_discover_osversion’ [-Wimplicit-function-declaration]
2012-05-15Use R*_LP to load pointer and operate on stackH.J. Lu
2012-05-15Use LP_OP(cmp) and RCX_LP on dep_mutex pointerH.J. Lu
2012-05-15Use LP_OP(op), LP_SIZE and ASM_ADDR in sem_wait.SH.J. Lu
2012-05-15se LP_OP(op), LP_SIZE and ASM_ADDR in sem_timedwait.SH.J. Lu
2012-05-15Use LP_OP(cmp) on NWAITERSH.J. Lu
2012-05-15Use LP_SIZE and ASM_ADDR in pthread_once.SH.J. Lu
2012-05-15Use LP_OP(cmp), R*_LP, LP_SIZE and ASM_ADDRH.J. Lu
2012-05-15Use LP_OP(cmp), R*_LP, LP_SIZE and ASM_ADDRH.J. Lu
2012-05-15Use LP_OP(cmp) and RCX_LP on dep_mutex pointerH.J. Lu
2012-05-15Use LP_OP(mov) and RDI_LP on pointerH.J. Lu
2012-05-15Use LP_SIZE and load timeout pointer into RDX_LPH.J. Lu
2012-05-15Allow a single-threaded program to cancel itselfSiddhesh Poyarekar
There is nothing in the POSIX specification to disallow a single-threaded program from cancelling itself, so we forcibly enable multiple_threads to allow the next available cancellation point in the thread to run. Also added additional tests to cover various cancellation scenarios.
2012-05-14Add x32 pthread typesH.J. Lu
2012-05-11Check __x86_64__ for __cleanup_fct_attributeH.J. Lu
2012-05-09Use CFI statements instead of hand-coding .eh_frame.Chung-Lin Tang
2012-03-19Use __NR_futex to define SYS_futexH.J. Lu
2012-03-16Fix libc-lowlevellock.c sysdep finding more generically.David S. Miller
nptl/ [BZ #13844] * sysdeps/unix/sysv/linux/libc-lowlevellock.c: Include using <..> instead of "...". * sysdeps/unix/sysv/linux/sparc/sparc32/libc-lowlevellock.c: Delete, not needed.
2012-03-15Add missing sparc32 NPTL file otherwise we use the wrong lowlevellock.c ↵David S. Miller
implementation. nptl/ [BZ #13844] * sysdeps/unix/sysv/linux/sparc/sparc32/libc-lowlevellock.c: New file.
2012-03-08Update copyright year after my most recent changes.David S. Miller
nptl/ * sysdeps/unix/sysv/linux/sparc/sem_post.c: Update copyright year. / * sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c: Update copyright year. * sysdeps/unix/sysv/linux/sparc/sysdep.h: Likewise.
2012-03-08Work around kernel rejecting valid absolute timestamps.Thomas Schwinge
2012-03-08Invalid timeouts in SH sem_timedwait.Thomas Schwinge
We adjusted nwaiters even though this isn't necessary.
2012-03-08Fix 9554ebf2d4da22591e974d3cf2ed09a2b8dbdbd8.Thomas Schwinge
| Invalid timeouts in i386 sem_timedwait. | | We adjusted nwaiters even though this isn't necessary.
2012-03-07Get rid of superfluous assignments in sem_timedwaitThomas Schwinge
2012-03-06Fix several build warnings on sparc.David S. Miller
/ * sysdeps/unix/sysv/linux/sparc/sparc64/get_clockfreq.c (set_obp_int): New function. (get_obp_int): New function. (__get_clockfreq_via_dev_openprom): Likewise. * sysdeps/unix/sysv/linux/sparc/sysdep.h (INTERNAL_SYSCALL_ERROR_P): Avoid unused variable warnings on 'val' and use builtin_expect. (INLINE_SYSCALL): Don't wrap INTERNAL_SYSCALL_ERROR_P with builtin_expect. (INLINE_CLONE_SYSCALL): Likewise. nptl/ * sysdeps/unix/sysv/linux/sparc/sem_post.c (__new_sem_post): Use atomic_increment and remove unused local variable. (__old_sem_post): Likewise.
2012-02-27Fix stray references to __pthread_attrDavid S. Miller
* sysdeps/unix/sysv/linux/i386/bits/pthreadtypes.h: Don't refer to non-existing __pthread_attr. * 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/sparc/bits/pthreadtypes.h: Likewise. * sysdeps/unix/sysv/linux/x86_64/bits/pthreadtypes.h: Likewise.
2012-02-26Fix name mangling of pthread_attr_t after changeUlrich Drepper
2012-02-26Work around problem of pthread_attr_t definition with old compilersUlrich Drepper
2012-02-26Fix up POSIX testing in conformtestUlrich Drepper
2012-02-16s390: Convert to crt[in].S.Richard Henderson
2012-02-16Add SH target specific crti.S and crtn.S and remove initfini files.Kaz Kojima
Add sysdeps/sh/crti.S, sysdeps/sh/crtn.S and remove sysdeps/sh/elf/initfini.c and nptl/sysdeps/unix/sysv/linux/sh/pt-initfini.c.
2012-02-15Remove unused Makefile.Marek Polacek