================
@@ -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:
Also, there seems to be a potential race condition here:
* When last connection timeout, `should_request_terimation` is set to true.
* Before `loop.RequestTermination()` is called.
* Then a new client starts debugging being Accepted() and calling
ResetTimeToLive() and move forward.
* The previous last connection calls `loop.RequestTermination()` and shutdown
the server
* The newly accepted client got killed due to server shutdown.
https://github.com/llvm/llvm-project/pull/156803
_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits