On 15/07/16 23:36 +0200, Jakub Jelinek wrote:
On Fri, Jul 15, 2016 at 10:07:03PM +0100, Jonathan Wakely wrote:
>+ if (typeid (*this) == typeid(__pointer_type_info))
>+ {
>+ *thr_obj = nullptr;
>+ return true;
But you have the above store too.
That doesn't write to the exception object, it only does a single
dereference (compared to the double dereference of the racy write), so
it writes to the local variable in the PERSONALITY_FUNCTION in
eh_personality.cc
So that shouldn't race with other threads. I think.