https://github.com/jasonmolenda approved this pull request.
It took me a minute to understand how you were handling the locking of the dependent file list while iterating across it, but now I see it. You grab the lock at the beginning of the outer loop, then enqueue all of the not-yet-processed dependent binaries into asynchronous threads. They are all creating the Modules and then blocking to acquire the lock, to add their entries to the dependent files list. The inner loop finishes distributing things to the thread pool, releases its lock, and waits for all the just-started async jobs to complete. Then we are back in the outer loop which reads the size of the dependent file list. https://github.com/llvm/llvm-project/pull/114507 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits