https://github.com/charles-zablit updated 
https://github.com/llvm/llvm-project/pull/182109

>From 40e587dcc9b2544bfd0774e923d93b25cbf9f0df Mon Sep 17 00:00:00 2001
From: Charles Zablit <[email protected]>
Date: Wed, 18 Feb 2026 19:40:54 +0000
Subject: [PATCH 1/2] [lldb][windows] mitigate a race condition when closing
 the ConPTY

---
 lldb/source/Host/windows/PseudoConsole.cpp | 1 +
 1 file changed, 1 insertion(+)

diff --git a/lldb/source/Host/windows/PseudoConsole.cpp 
b/lldb/source/Host/windows/PseudoConsole.cpp
index 2228c315665f4..202739270ad6b 100644
--- a/lldb/source/Host/windows/PseudoConsole.cpp
+++ b/lldb/source/Host/windows/PseudoConsole.cpp
@@ -129,6 +129,7 @@ llvm::Error PseudoConsole::OpenPseudoConsole() {
 }
 
 void PseudoConsole::Close() {
+  Sleep(50);
   if (m_conpty_handle != INVALID_HANDLE_VALUE)
     kernel32.ClosePseudoConsole(m_conpty_handle);
   if (m_conpty_input != INVALID_HANDLE_VALUE)

>From f2d81ca900afd032110939f04ac8754279fb6d17 Mon Sep 17 00:00:00 2001
From: Charles Zablit <[email protected]>
Date: Wed, 18 Feb 2026 22:52:27 +0000
Subject: [PATCH 2/2] add comment

---
 lldb/source/Host/windows/PseudoConsole.cpp | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/lldb/source/Host/windows/PseudoConsole.cpp 
b/lldb/source/Host/windows/PseudoConsole.cpp
index 202739270ad6b..15bc8fc9d32fe 100644
--- a/lldb/source/Host/windows/PseudoConsole.cpp
+++ b/lldb/source/Host/windows/PseudoConsole.cpp
@@ -129,7 +129,10 @@ llvm::Error PseudoConsole::OpenPseudoConsole() {
 }
 
 void PseudoConsole::Close() {
-  Sleep(50);
+  Sleep(50); // FIXME: This mitigates a race condition when closing the
+             // PseudoConsole. It's possible that there is still data in the
+             // pipe when we try to close it. We should wait until the data has
+             // been consumed.
   if (m_conpty_handle != INVALID_HANDLE_VALUE)
     kernel32.ClosePseudoConsole(m_conpty_handle);
   if (m_conpty_input != INVALID_HANDLE_VALUE)

_______________________________________________
lldb-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to