[Bug libstdc++/60966] std::call_once sometime hangs

redi at gcc dot gnu.org gcc-bugzilla@gcc.gnu.org
Sat May 17 13:02:00 GMT 2014


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



More information about the Gcc-bugs mailing list