This is the mail archive of the gcc-bugs@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


https://gcc.gnu.org/bugzilla/show_bug.cgi?id=60966

--- Comment #30 from Jonathan Wakely <redi at gcc dot gnu.org> ---
Author: redi
Date: Tue Jun  3 17:58:56 2014
New Revision: 211198

URL: http://gcc.gnu.org/viewcvs?rev=211198&root=gcc&view=rev
Log:
Backport from mainline
2014-05-16  Jonathan Wakely  <jwakely@redhat.com>

    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_8-branch/libstdc++-v3/testsuite/30_threads/promise/60966.cc
Modified:
    branches/gcc-4_8-branch/libstdc++-v3/ChangeLog
    branches/gcc-4_8-branch/libstdc++-v3/include/std/future


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]