Promise, future and thread on C++0x
Jonathan Wakely
jwakely.gcc@gmail.com
Thu Jul 7 11:23:00 GMT 2011
On 7 July 2011 10:47, Jonathan Wakely wrote:
> On 7 July 2011 10:29, Claudio La Rosa wrote:
>>
>> Ok, but there is no simple way to work around the problem?
>
> Pass the promise by lvalue reference:
>
> void myAsyncFun(promise<int>& intPromise)
> { ... }
That works in GCC 4.6, but not in 4.5 due to a different bug in
std::thread which is fixed in GCC 4.6
You can make it work in 4.5 by passing the promise to the thread by
reference instead of moving it:
std::thread t(myAsyncFun, std::ref(intPromise));
More information about the Libstdc++
mailing list