================
@@ -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
lldb-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to