gcc/libstdc++-v3
Mike Crowe 2f59343265 Report early wakeup of condition_variable::wait_until as no_timeout
As currently implemented, condition_variable always ultimately waits
against std::chrono::system_clock. This clock can be changed in arbitrary
ways by the user which may result in us waking up too early or too late
when measured against the caller-supplied clock.

We can't (yet) do much about waking up too late (PR 41861), but
if we wake up too early we must return cv_status::no_timeout to indicate a
spurious wakeup rather than incorrectly returning cv_status::timeout.

2018-08-01  Mike Crowe  <mac@mcrowe.com>

	* include/std/condition_variable (wait_until): Only report timeout
	if we really have timed out when measured against the
	caller-supplied clock.
	* testsuite/30_threads/condition_variable/members/2.cc: Add test
	case to confirm above behaviour.

From-SVN: r263224
2018-08-01 16:39:45 +01:00
..
config Add initial version of C++17 <memory_resource> header 2018-07-24 22:09:55 +01:00
doc Improve libstdc++ docs w.r.t newer C++ standards 2018-07-31 16:02:32 +01:00
include Report early wakeup of condition_variable::wait_until as no_timeout 2018-08-01 16:39:45 +01:00
libsupc++ Don't unconditionally define feature test macros in <version> 2018-07-31 23:31:14 +01:00
po PR libstdc++/86450 use -Wabi=2 and simplify -Werror use 2018-07-17 14:18:47 +01:00
python PR libstdc++/86751 default assignment operators for std::pair 2018-07-31 23:31:20 +01:00
scripts * scripts/create_testsuite_files: Fix typo in comment. 2018-07-16 18:42:20 +01:00
src PR libstdc++/60555 std::system_category() should recognise POSIX errno values 2018-08-01 14:57:05 +01:00
testsuite Report early wakeup of condition_variable::wait_until as no_timeout 2018-08-01 16:39:45 +01:00
acinclude.m4 Add new src/c++17 directory to list in acinclude.m4 2018-07-25 12:01:39 +01:00
aclocal.m4
ChangeLog Report early wakeup of condition_variable::wait_until as no_timeout 2018-08-01 16:39:45 +01:00
ChangeLog-1998
ChangeLog-1999
ChangeLog-2000
ChangeLog-2001
ChangeLog-2002
ChangeLog-2003
ChangeLog-2004
ChangeLog-2005
ChangeLog-2006
ChangeLog-2007
ChangeLog-2008
ChangeLog-2009
ChangeLog-2010
ChangeLog-2011
ChangeLog-2012
ChangeLog-2013
ChangeLog-2014
ChangeLog-2015
ChangeLog-2016
ChangeLog-2017
config.h.in Fix bootstrap failure for bare metal due to autoconf link tests 2018-06-18 17:01:24 +01:00
configure Add initial version of C++17 <memory_resource> header 2018-07-24 22:09:55 +01:00
configure.ac PR libstdc++/86450 use -Wabi=2 and simplify -Werror use 2018-07-17 14:18:47 +01:00
configure.host
crossconfig.m4 crossconfig.m4: Handle OpenBSD just like NetBSD. 2018-06-18 11:28:53 -06:00
fragment.am PR libstdc++/86450 use -Wabi=2 and simplify -Werror use 2018-07-17 14:18:47 +01:00
linkage.m4
Makefile.am
Makefile.in PR libstdc++/86450 use -Wabi=2 and simplify -Werror use 2018-07-17 14:18:47 +01:00
README

file: libstdc++-v3/README

New users may wish to point their web browsers to the file
index.html in the 'doc/html' subdirectory.  It contains brief
building instructions and notes on how to configure the library in
interesting ways.