diff options
-rw-r--r-- | nptl/ChangeLog | 6 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h | 11 | ||||
-rw-r--r-- | nptl/tst-rwlock7.c | 2 |
3 files changed, 17 insertions, 2 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index 0d0573cc0f..5d22f7f525 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,5 +1,11 @@ 2003-05-29 Ulrich Drepper <drepper@redhat.com> + * 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. + * sysdeps/unix/sysv/linux/ia64/lowlevellock.h (lll_futex_requeue): Find break parameter in correct asm argument. diff --git a/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h b/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h index fadf5f96ad..525869b302 100644 --- a/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h +++ b/nptl/sysdeps/unix/sysv/linux/ia64/lowlevellock.h @@ -179,8 +179,17 @@ __lll_mutex_unlock (int *futex) #define lll_mutex_unlock(futex) \ __lll_mutex_unlock(&(futex)) + +static inline void +__attribute__ ((always_inline)) +__lll_mutex_unlock_force (int *futex) +{ + (void) atomic_exchange_rel (futex, 0); + lll_futex_wake (futex, 1); +} #define lll_mutex_unlock_force(futex) \ - lll_futex_wake (&(futex), 1) + __lll_mutex_unlock_force(&(futex)) + #define lll_mutex_islocked(futex) \ (futex != 0) diff --git a/nptl/tst-rwlock7.c b/nptl/tst-rwlock7.c index 6dd8fef5a7..1f34c06505 100644 --- a/nptl/tst-rwlock7.c +++ b/nptl/tst-rwlock7.c @@ -161,7 +161,7 @@ do_test (void) } if (status != NULL) { - printf ("failure in round %d\n", cnt); + printf ("failure in round %Zu\n", cnt); exit (1); } |