aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-ssa-loop-split.c
diff options
context:
space:
mode:
authorJonathan Wakely <jwakely@redhat.com>2020-11-25 10:26:09 +0000
committerJonathan Wakely <jwakely@redhat.com>2020-11-25 10:31:55 +0000
commitad9cbcee543ecccd79fa49dafcd925532d2ce210 (patch)
tree5d83551cb2e35ebc9f478391c791ca686c8b7ead /gcc/tree-ssa-loop-split.c
parenta7285c8659689e9ade53fcb996b26d874455a4f3 (diff)
downloadgcc-ad9cbcee543ecccd79fa49dafcd925532d2ce210.zip
gcc-ad9cbcee543ecccd79fa49dafcd925532d2ce210.tar.gz
gcc-ad9cbcee543ecccd79fa49dafcd925532d2ce210.tar.bz2
libstdc++: Fix handling of futex wake [PR 97936]
The __platform_wait function is supposed to wait until *addr != old. The futex syscall checks the initial value and returns EAGAIN if *addr != old is already true, which should cause __platform_wait to return. Instead it loops and keeps doing a futex wait, which keeps returning EAGAIN. libstdc++-v3/ChangeLog: PR libstdc++/97936 * include/bits/atomic_wait.h (__platform_wait): Return if futex sets EAGAIN. * testsuite/30_threads/latch/3.cc: Re-enable test. * testsuite/30_threads/semaphore/try_acquire_until.cc: Likewise.
Diffstat (limited to 'gcc/tree-ssa-loop-split.c')
0 files changed, 0 insertions, 0 deletions