diff options
author | Jonathan Wakely <jwakely@redhat.com> | 2021-09-28 20:41:46 +0100 |
---|---|---|
committer | Jonathan Wakely <jwakely@redhat.com> | 2021-09-28 21:27:04 +0100 |
commit | 2fcfc7d66862c67677f0e1c46391292d5a21a567 (patch) | |
tree | f3c0cf9c37668de4fe62de57c60aeeecd61610c5 /libstdc++-v3 | |
parent | 26c09ae12d212edcc1cdaf705aab3b3a52597362 (diff) | |
download | gcc-2fcfc7d66862c67677f0e1c46391292d5a21a567.zip gcc-2fcfc7d66862c67677f0e1c46391292d5a21a567.tar.gz gcc-2fcfc7d66862c67677f0e1c46391292d5a21a567.tar.bz2 |
libstdc++: Fix return values for atomic wait on futex
This fixes a logic error in the futex-based timed wait.
Signed-off-by: Jonathan Wakely <jwakely@redhat.com>
libstdc++-v3/ChangeLog:
* include/bits/atomic_timed_wait.h (__platform_wait_until_impl):
Return false for ETIMEDOUT and true otherwise.
Diffstat (limited to 'libstdc++-v3')
-rw-r--r-- | libstdc++-v3/include/bits/atomic_timed_wait.h | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libstdc++-v3/include/bits/atomic_timed_wait.h b/libstdc++-v3/include/bits/atomic_timed_wait.h index 3db08f8..d423a7a 100644 --- a/libstdc++-v3/include/bits/atomic_timed_wait.h +++ b/libstdc++-v3/include/bits/atomic_timed_wait.h @@ -101,12 +101,12 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION if (__e) { - if ((errno != ETIMEDOUT) && (errno != EINTR) - && (errno != EAGAIN)) + if (errno == ETIMEDOUT) + return false; + if (errno != EINTR && errno != EAGAIN) __throw_system_error(errno); - return true; } - return false; + return true; } // returns true if wait ended before timeout |