================ @@ -327,6 +366,11 @@ serveConnection(const Socket::SocketProtocol &protocol, const std::string &name, std::unique_lock<std::mutex> lock(dap_sessions_mutex); dap_sessions.erase(&loop); std::notify_all_at_thread_exit(dap_sessions_condition, std::move(lock)); + + // Start the countdown to kill the server at the end of each connection. ---------------- jeffreytan81 wrote:
Just realize that we used `loop.AddCallback` to run the callback at the main loop thread not each DAP's worker thread. Then the race condition mentioned above won't happen and no synchronization is required. https://github.com/llvm/llvm-project/pull/156803 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits