Неверное использование std:: future?

Я прибил один из моих ошибок до этого небольшого фрагмента, и все же я не понимаю, почему он не работает.

#include <future>
int main()
{
 int ret = 0;
 std::future<int> parseSentence = std::async(std::launch::async, []() { return 3;} );
 ret = parseSentence.get(); 
 return ret;
}
</int></future>

Код работает, но helgrind находит состояние гонки. Поскольку журнал был немного длинным, я помещал его в отдельный файл, который можно найти здесь.

Кто-нибудь может сказать мне, что я здесь делаю неправильно?

1 ответ

Код верный, поэтому, если есть условие гонки в реализации future или его компаньонов.

licensed under cc by-sa 3.0 with attribution.