PR libstdc++/60966
commite0b7b952168ac1106771da549cf11878d0391f57
authorredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 17 May 2014 12:58:46 +0000 (17 12:58 +0000)
committerredi <redi@138bc75d-0d04-0410-961f-82ee72b054a4>
Sat, 17 May 2014 12:58:46 +0000 (17 12:58 +0000)
tree7237fcd1362424020b6b0b80fa7c6d219d31eb50
parentd9b9b19e012de3f0fcd8d048e0ec833e74fd7e26
PR libstdc++/60966
* include/std/future (__future_base::_State_baseV2::_M_set_result):
Pass lock into _M_do_set and hold it until the function returns.
Signal condition variable after call_once completes.
(__future_base::_State_baseV2::_M_do_set): Use lock argument. Do not
signal here.
* testsuite/30_threads/promise/60966.cc: New.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@210556 138bc75d-0d04-0410-961f-82ee72b054a4
libstdc++-v3/ChangeLog
libstdc++-v3/include/std/future
libstdc++-v3/testsuite/30_threads/promise/60966.cc [new file with mode: 0644]