diff options
| author | tao <2471314@gmail.com> | 2026-03-21 06:42:41 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2026-03-20 18:42:41 -0400 |
| commit | 7be4e4dd6596c93b9db25312e1b2ce0e616fdd33 (patch) | |
| tree | 6e3e6ff2c263b8cb78e6819faf736c9f65bb2547 /runtime/lua/vim/provider/python.lua | |
| parent | cd712212509884d959c464f94bca15f881d95f1b (diff) | |
fix(pty): prevent orphan conhost.exe on Windows 10 #38244
Problem:
On Windows 10, the ConPTY closing order is strict. Calling
ClosePseudoConsole after closing the output stream can easily
lead to accidental deadlocks, leaving orphan conhost.exe processes.
See https://learn.microsoft.com/en-us/windows/console/closepseudoconsole#remarks
and https://learn.microsoft.com/en-us/windows/console/creating-a-pseudoconsole-session#ending-the-pseudoconsole-session
Solution:
Based on the warning in the docs above, we need to call ClosePseudoConsole
on a separate thread first so that the output pipe can fully drain on
the main thread. Also, `wait_eof_timer` is outdated, so I removed it
to avoid extra cleanup logic around it (it was introduced in the
early winpty days).
Co-authored-by: Justin M. Keyes <justinkz@gmail.com>
Diffstat (limited to 'runtime/lua/vim/provider/python.lua')
0 files changed, 0 insertions, 0 deletions
