
----- Original Message ----- From: "Anthony Williams" <anthony.ajw@gmail.com> To: <boost@lists.boost.org> Sent: Wednesday, December 03, 2008 2:18 PM Subject: Re: [boost] [future N2561] Implementation comments
"vicente.botet" <vicente.botet@wanadoo.fr> writes:
Ok, I see. Do we need to set_value from different threads? Should the promise::set_value() be thread safe or not? What says the C++0x standard?
The C++0x draft standard is silent on the matter. I think it probably
So the idea is that a promise should be used only by a thread. Right?
Protection of lazy_init would require a different mechanism, such as the use of boost::call_once.
Why not?
Sorry, I would like to say why not!
I was not talking of move-assigning but to take the address which preserve the promise contents and is dangerous if concurrent calls to set_value are not supported with this implementation. So, why not delete the operator&()?
Just because something is not thread safe does not make it appropriate to delete the operator&. You can pass things around by pointer without making them accessible to more than one thread, and you can pass things by reference that ARE accessible by more than one thread, even if that isn't safe.
You are right. It is enough to state that this is not thread safe. Thanks for all, Vicente