labath added a comment. I don't think that `atomic<bool>` is what you want here. In the case of a race, the "loser" will immediately continue to use python as if it was initialized, even though the winner has not finished the initialization. You most likely need `call_once` semantics, blocking all threads until the initialization completes.
That said, I think think it would be better to do this initialization in the `Initialize` static function. Out of general cleanliness, but with a particular with a view towards the SIGINT patch. That way the initialization functions happens in a predictable and single-threaded context (as you can see, threads are hard), hopefully at a point where nobody will care that we're mucking with the SIGINT handlers. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D117601/new/ https://reviews.llvm.org/D117601 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits