mirror of git://gcc.gnu.org/git/gcc.git
Avoid a system call when no sleep is required. Sleep in a loop (actually two loops) to handle interruption by signals. PR libstdc++/80538 * src/c++11/thread.cc (this_thread::__sleep_for) [_GLIBCXX_HAVE_SLEEP]: Only call sleep for non-zero values. Loop while sleep call is interrupted and until steady_clock shows requested duration has elapsed. (!_GLIBCXX_HAVE_USLEEP]: Use the _GLIBCXX_HAVE_SLEEP code path, but avoiding the usleep call. * testsuite/30_threads/this_thread/60421.cc: Test repeated signal interruptions. From-SVN: r265044 |
||
|---|---|---|
| .. | ||
| 1.cc | ||
| 2.cc | ||
| 3.cc | ||
| 4.cc | ||
| 57060.cc | ||
| 58038.cc | ||
| 60421.cc | ||