[PR #5286] [MERGED] Control: Start the connection outside of lock #26225

Open
opened 2026-01-31 09:14:47 +00:00 by claunia · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/5286
Author: @DHowett-MSFT
Created: 4/8/2020
Status: Merged
Merged: 4/8/2020
Merged by: @DHowett-MSFT

Base: masterHead: dev/duhowett/mr_howett_tear_down_this_lock


📝 Commits (1)

  • a8b5787 Control: Start the connection outside of lock

📊 Changes

1 file changed (+6 additions, -2 deletions)

View changed files

📝 src/cascadia/TerminalControl/TermControl.cpp (+6 -2)

📄 Description

When the connection printed text immediately, synchronously, as part of
Start() it would cause terminal to deadlock. We should start the
connection outside of lock.

The ConptyConnection would do this when it failed to launch something
(trivial repro: wt -- xyz).

The TelnetConnection would do this all the time, because local loopback
telnet is fast and easy.

References

PR Checklist

  • Closes a crash I ran into today
  • work here
  • tested
  • Requires documentation to be updated
  • C O R E

Validation

Attempted to run the failing scenario.


🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/microsoft/terminal/pull/5286 **Author:** [@DHowett-MSFT](https://github.com/DHowett-MSFT) **Created:** 4/8/2020 **Status:** ✅ Merged **Merged:** 4/8/2020 **Merged by:** [@DHowett-MSFT](https://github.com/DHowett-MSFT) **Base:** `master` ← **Head:** `dev/duhowett/mr_howett_tear_down_this_lock` --- ### 📝 Commits (1) - [`a8b5787`](https://github.com/microsoft/terminal/commit/a8b5787294527343fb93178d6e96d62d61292889) Control: Start the connection outside of lock ### 📊 Changes **1 file changed** (+6 additions, -2 deletions) <details> <summary>View changed files</summary> 📝 `src/cascadia/TerminalControl/TermControl.cpp` (+6 -2) </details> ### 📄 Description When the connection printed text immediately, synchronously, as part of Start() it would cause terminal to deadlock. We should start the connection outside of lock. The ConptyConnection would do this when it failed to launch something (trivial repro: `wt -- xyz`). The TelnetConnection would do this all the time, because local loopback telnet is fast and easy. ## References ## PR Checklist * [x] Closes a crash I ran into today * [x] work here * [x] tested * [ ] Requires documentation to be updated * [x] C O R E ## Validation Attempted to run the failing scenario. --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
claunia added the pull-request label 2026-01-31 09:14:47 +00:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/terminal#26225