cameron314 added a comment. I read the same docs :D This is the important part:
> If multiple threads of execution access the same shared_ptr without > synchronization and any of those accesses uses a non-const member function of > shared_ptr then a data race will occur; the shared_ptr overloads of atomic > functions can be used to prevent the data race. Copying the shared pointer and accessing its pointee through it is thread safe (copying a wrapper object technically isn't, but it will boil down to the same thing, so let's leave that aside). But copying it while the pointer is being reassigned (`operator=`) on a different thread is //not// thread safe. To answer your question, yes, absolutely, we can just remove that one call to Reset. But if the copy is still necessary, that means a lot of existing code (including that copy) is also racy and should be reviewed (though this would make sense to do in a separate patch). Repository: rL LLVM http://reviews.llvm.org/D19122 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits