]> gcc.gnu.org Git - gcc.git/commit
libstdc++: Fix "bare" notifications dropped by waiters check
authorThomas Rodgers <rodgert@twrodgers.com>
Thu, 22 Apr 2021 01:12:03 +0000 (18:12 -0700)
committerThomas Rodgers <rodgert@twrodgers.com>
Thu, 22 Apr 2021 14:34:02 +0000 (07:34 -0700)
commitae2f6e01749f39b8b8ccc211fc29e5e6ec8b57cd
treefaa679184d18d0f257388228947b4347d7757b00
parent0cda606d08d6196b76524c7b6ad51d87fed0d54b
libstdc++: Fix "bare" notifications dropped by waiters check

For types that track whether or not there extant waiters (e.g.
semaphore) internally, the __atomic_notify_address_bare() call was
introduced to avoid the overhead of loading the atomic count of
waiters. For platforms that don't have Futex, however, there was
still a check for waiters, and seeing that there are none (because
in the bare case, the count is not incremented), the notification
is dropped. This commit addresses that case.

libstdc++-v3/ChangeLog:
* include/bits/atomic_wait.h: Always notify waiters in the
case of 'bare' address notification.
libstdc++-v3/include/bits/atomic_wait.h
This page took 0.061039 seconds and 6 git commands to generate.