[PR #13746] [MERGED] Add recursive_ticket_lock and use it for Terminal #29735

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

📋 Pull Request Information

Original PR: https://github.com/microsoft/terminal/pull/13746
Author: @lhecker
Created: 8/15/2022
Status: Merged
Merged: 10/31/2022
Merged by: @undefined

Base: mainHead: dev/lhecker/recursive-ticket-lock


📝 Commits (4)

  • 5be3b6d Add recursive_ticket_lock and use it for Terminal
  • 8b601f0 Fix debug build failure
  • 3a02bc0 Prevent recursive_ticket_lock_suspension misuse
  • 0257f01 Merge remote-tracking branch 'origin/main' into dev/lhecker/recursive-ticket-lock

📊 Changes

8 files changed (+128 additions, -69 deletions)

View changed files

📝 .github/actions/spelling/allow/allow.txt (+1 -0)
📝 src/cascadia/TerminalControl/ControlCore.cpp (+3 -5)
📝 src/cascadia/TerminalCore/Terminal.cpp (+4 -16)
📝 src/cascadia/TerminalCore/Terminal.hpp (+4 -7)
📝 src/cascadia/TerminalCore/terminalrenderdata.cpp (+0 -3)
📝 src/host/consoleInformation.cpp (+8 -34)
📝 src/host/server.h (+8 -4)
📝 src/inc/til/ticket_lock.h (+100 -0)

📄 Description

My hope with this commit is to make our code more robust against accidental
recursive locking, as well as making it easier to write code with confidence,
with only a slight performance trade-off.

Validation Steps Performed

  • Playing Pac Man music through MIDI
  • Windows Terminal runs happily ever after

🔄 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/13746 **Author:** [@lhecker](https://github.com/lhecker) **Created:** 8/15/2022 **Status:** ✅ Merged **Merged:** 10/31/2022 **Merged by:** [@undefined](undefined) **Base:** `main` ← **Head:** `dev/lhecker/recursive-ticket-lock` --- ### 📝 Commits (4) - [`5be3b6d`](https://github.com/microsoft/terminal/commit/5be3b6d395e7ef4c05f70561868d25c17cde0d3e) Add recursive_ticket_lock and use it for Terminal - [`8b601f0`](https://github.com/microsoft/terminal/commit/8b601f0a4cf87c8c604712ab21ffa280adef46d6) Fix debug build failure - [`3a02bc0`](https://github.com/microsoft/terminal/commit/3a02bc06168d7542a640fbf04a45b4506ea3f484) Prevent recursive_ticket_lock_suspension misuse - [`0257f01`](https://github.com/microsoft/terminal/commit/0257f01dab39cbf04c9db0e9628086de4d2779a4) Merge remote-tracking branch 'origin/main' into dev/lhecker/recursive-ticket-lock ### 📊 Changes **8 files changed** (+128 additions, -69 deletions) <details> <summary>View changed files</summary> 📝 `.github/actions/spelling/allow/allow.txt` (+1 -0) 📝 `src/cascadia/TerminalControl/ControlCore.cpp` (+3 -5) 📝 `src/cascadia/TerminalCore/Terminal.cpp` (+4 -16) 📝 `src/cascadia/TerminalCore/Terminal.hpp` (+4 -7) 📝 `src/cascadia/TerminalCore/terminalrenderdata.cpp` (+0 -3) 📝 `src/host/consoleInformation.cpp` (+8 -34) 📝 `src/host/server.h` (+8 -4) 📝 `src/inc/til/ticket_lock.h` (+100 -0) </details> ### 📄 Description My hope with this commit is to make our code more robust against accidental recursive locking, as well as making it easier to write code with confidence, with only a slight performance trade-off. ## Validation Steps Performed * Playing Pac Man music through MIDI ✅ * Windows Terminal runs happily ever after ✅ --- <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:36:35 +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#29735