diff options
Diffstat (limited to 'nptl/sysdeps')
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/lowlevellock.c | 2 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/sparc/sparc32/lowlevellock.c | 9 |
2 files changed, 6 insertions, 5 deletions
diff --git a/nptl/sysdeps/unix/sysv/linux/lowlevellock.c b/nptl/sysdeps/unix/sysv/linux/lowlevellock.c index 1187800148..f0e42957c2 100644 --- a/nptl/sysdeps/unix/sysv/linux/lowlevellock.c +++ b/nptl/sysdeps/unix/sysv/linux/lowlevellock.c @@ -37,7 +37,7 @@ __lll_lock_wait_private (int *futex) } -/* These functions doesn't get included in libc.so */ +/* These functions don't get included in libc.so */ #ifdef IS_IN_libpthread void __lll_lock_wait (int *futex, int private) diff --git a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/lowlevellock.c b/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/lowlevellock.c index 1ee9b4737b..682307eef1 100644 --- a/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/lowlevellock.c +++ b/nptl/sysdeps/unix/sysv/linux/sparc/sparc32/lowlevellock.c @@ -36,9 +36,9 @@ __lll_lock_wait_private (int *futex) while (atomic_compare_and_exchange_val_24_acq (futex, 2, 0) != 0); } -#ifdef IS_IN_libpthread -/* These functions don't get included in libc.so */ +/* These functions don't get included in libc.so */ +#ifdef IS_IN_libpthread void __lll_lock_wait (int *futex, int private) { @@ -121,8 +121,9 @@ __lll_timedwait_tid (int *tidp, const struct timespec *abstime) if (rt.tv_sec < 0) return ETIMEDOUT; - /* Wait until thread terminates. */ - if (lll_futex_timed_wait (tidp, tid, &rt) == -ETIMEDOUT) + /* Wait until thread terminates. The kernel so far does not use + the private futex operations for this. */ + if (lll_futex_timed_wait (tidp, tid, &rt, LLL_SHARED) == -ETIMEDOUT) return ETIMEDOUT; } |