[PR #11445] [MERGED] Fix opening the debug tap #28584

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

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/11445
Author: @zadjii-msft
Created: 10/6/2021
Status: Merged
Merged: 10/6/2021
Merged by: @DHowett

Base: mainHead: dev/migrie/b/11282-debug-tap


📝 Commits (2)

📊 Changes

3 files changed (+22 additions, -2 deletions)

View changed files

📝 src/cascadia/TerminalApp/DebugTapConnection.cpp (+18 -1)
📝 src/cascadia/TerminalApp/DebugTapConnection.h (+3 -0)
📝 src/cascadia/TerminalControl/ControlCore.cpp (+1 -1)

📄 Description

It's possible that we're about to be started, before
our paired connection is started. Both will get Start()'ed when
their owning TermControl is finally laid out. However, if we're
started first, then we'll immediately start printing to the other
control as well, which might not have initialized yet. If we do
that, we'll explode.

Instead, wait here until the other connection is started too,
before actually starting the connection to the client app. This
will ensure both controls are initialized before the client app
is.

Fixes #11282

Tested: Opened about 100 debug taps. They all worked. :shipit:


🔄 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/11445 **Author:** [@zadjii-msft](https://github.com/zadjii-msft) **Created:** 10/6/2021 **Status:** ✅ Merged **Merged:** 10/6/2021 **Merged by:** [@DHowett](https://github.com/DHowett) **Base:** `main` ← **Head:** `dev/migrie/b/11282-debug-tap` --- ### 📝 Commits (2) - [`403be88`](https://github.com/microsoft/terminal/commit/403be8820de53e11b5afe1cc15bd67b0a7a9247d) this fixes the crash, need commetns - [`5c77f69`](https://github.com/microsoft/terminal/commit/5c77f69112c61e707c2eeff2681a46e31c610e09) comments ### 📊 Changes **3 files changed** (+22 additions, -2 deletions) <details> <summary>View changed files</summary> 📝 `src/cascadia/TerminalApp/DebugTapConnection.cpp` (+18 -1) 📝 `src/cascadia/TerminalApp/DebugTapConnection.h` (+3 -0) 📝 `src/cascadia/TerminalControl/ControlCore.cpp` (+1 -1) </details> ### 📄 Description It's possible that we're about to be started, _before_ our paired connection is started. Both will get Start()'ed when their owning TermControl is finally laid out. However, if we're started first, then we'll immediately start printing to the other control as well, which might not have initialized yet. If we do that, we'll explode. Instead, wait here until the other connection is started too, before actually starting the connection to the client app. This will ensure both controls are initialized before the client app is. Fixes #11282 Tested: Opened about 100 debug taps. They all worked. :shipit: --- <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:29:27 +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#28584