diff options
author | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-02-09 18:02:47 +0100 |
---|---|---|
committer | Samuel Thibault <samuel.thibault@ens-lyon.org> | 2020-02-09 18:02:47 +0100 |
commit | 66d48da0bccdd929ac07dfe4a8441051d863a477 (patch) | |
tree | fd31957e1aa109f067d0b3a3c770ce94290b9ef8 | |
parent | 7c3cea34aafec501f7516b75d6dd2942deef7fed (diff) |
fix pthread_spin_lock behavior for shared memory
debian/patches/hurd-i386/git-spin_lock.diff: New patch
-rw-r--r-- | debian/changelog | 2 | ||||
-rw-r--r-- | debian/patches/hurd-i386/git-spin_lock.diff | 22 | ||||
-rw-r--r-- | debian/patches/series | 1 |
3 files changed, 25 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog index 787c5a83..a2bd1b80 100644 --- a/debian/changelog +++ b/debian/changelog @@ -4,6 +4,8 @@ glibc (2.30-0experimental3) UNRELEASED; urgency=medium * testsuite-xfail-debian.mk: Update non-regressions. * debian/patches/hurd-i386/git-fork-pthread_exit.diff: New patch to fix pthread_exit after fork. + * debian/patches/hurd-i386/git-spin_lock.diff: New patch to fix + pthread_spin_lock behavior for shared memory. [ Aurelien Jarno ] * debian/patches/any/local-revert-24323.diff: drop, obsolete. diff --git a/debian/patches/hurd-i386/git-spin_lock.diff b/debian/patches/hurd-i386/git-spin_lock.diff new file mode 100644 index 00000000..5415713f --- /dev/null +++ b/debian/patches/hurd-i386/git-spin_lock.diff @@ -0,0 +1,22 @@ +commit 900778283ac3cfbd274abc55840b5cdae9b7745f +Author: Samuel Thibault <samuel.thibault@ens-lyon.org> +Date: Sun Feb 9 16:54:58 2020 +0000 + + htl: make pthread_spin_lock really spin + + __spin_lock would actually use gsync_wait to block, which is not what + pthread_spin_lock is about. + +diff --git a/sysdeps/mach/htl/bits/spin-lock-inline.h b/sysdeps/mach/htl/bits/spin-lock-inline.h +index 771292f08f..556bdd4c28 100644 +--- a/sysdeps/mach/htl/bits/spin-lock-inline.h ++++ b/sysdeps/mach/htl/bits/spin-lock-inline.h +@@ -67,7 +67,7 @@ __PT_SPIN_INLINE int __pthread_spin_lock (__pthread_spinlock_t *__lock); + __PT_SPIN_INLINE int + __pthread_spin_lock (__pthread_spinlock_t *__lock) + { +- __spin_lock ((__spin_lock_t *) __lock); ++ __spin_lock_solid ((__spin_lock_t *) __lock); + return 0; + } + diff --git a/debian/patches/series b/debian/patches/series index 35ca8fb6..767f02db 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -80,6 +80,7 @@ hurd-i386/git-hurd_sigstate-PLT.diff hurd-i386/git-rlock.diff hurd-i386/git-errno_location.diff hurd-i386/git-fork-pthread_exit.diff +hurd-i386/git-spin_lock.diff i386/local-biarch.diff i386/unsubmitted-quiet-ldconfig.diff |