]> git.ipfire.org Git - thirdparty/gcc.git/commit
libstdc++: testsuite: tolerate non-cancelling sleep
authorAlexandre Oliva <oliva@adacore.com>
Fri, 24 Jun 2022 02:20:46 +0000 (23:20 -0300)
committerAlexandre Oliva <oliva@gnu.org>
Fri, 24 Jun 2022 02:25:52 +0000 (23:25 -0300)
commit0b2c1781db8df9051ce3d160af2113387742fef2
tree192ee0ee446b78303d044dc55168adb3b331ffb4
parenta5bba80e32fd96b2ae90ad1072d84dfe64cf78a4
libstdc++: testsuite: tolerate non-cancelling sleep

Though sleep, nanosleep and clock_nanosleep are all POSIX cancellation
points, not all target systems follow this POSIX requirement.
30_threads/thread/native_handle/cancel.cc will run until it times out
on such systems.

Rather than failing a C++ library test because of a limitation of the
target system, this patch gives the test a chance to successfully
exercise the features it intends to exercise, by introducing a
cancellation point in a loop that would otherwise run indefinitely on
systems exhibiting this limitation.

for  libstdc++-v3/ChangeLog

* testsuite/30_threads/thread/native_handle/cancel.cc: Add an
explicit cancellation point in case sleep_for lacks one.
libstdc++-v3/testsuite/30_threads/thread/native_handle/cancel.cc