https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60966
--- Comment #28 from Jonathan Wakely <redi at gcc dot gnu.org> --- Author: redi Date: Sat May 17 13:01:11 2014 New Revision: 210557 URL: http://gcc.gnu.org/viewcvs?rev=210557&root=gcc&view=rev Log: PR libstdc++/60966 * include/std/future (__future_base::_State_baseV2::_M_set_result): Signal condition variable after call_once returns. (__future_base::_State_baseV2::_M_do_set): Do not signal here. (promise::set_value, promise::set_exception): Increment the reference count on the shared state until the function returns. * testsuite/30_threads/promise/60966.cc: New. Added: branches/gcc-4_9-branch/libstdc++-v3/testsuite/30_threads/promise/60966.cc Modified: branches/gcc-4_9-branch/libstdc++-v3/ChangeLog branches/gcc-4_9-branch/libstdc++-v3/include/std/future