
I just replaced boost::future/promise by std::future/promise and the test just works. However the same change in a real code using WorkQueue internally and using similar code to the test makes the future::get() provide invalid pointers with values close to 0x000000 but not exactly. This code then makes access violation as the pointers are obviously not valid. So far I know: - having a std::vector instead of tbb::concurrent_queue makes the test work (the real code can't use std::vector, it's concurrent); - using std::future/promise instead of boost::future/promise makes the test work ...; - ...but not the real code (which should be almost the same than the test); My current suspicion: maybe I do something wrong with the lifetime of the promise? I don't see what unfortunately. I'll try to reproduce the problem with std::future/promise I see in my real code but in the test. Joel Lamotte