Audit our settings model for thread safety issues #18169
Labels
Area-Settings
Issues related to settings and customizability, for console or terminal
In-PR
This issue has a related PR
Issue-Bug
It either shouldn't be doing this or needs an investigation.
Needs-Tag-Fix
Doesn't match tag requirements
Priority-2
A description (P2)
Product-Terminal
The new Windows Terminal.
Milestone
It occurred to me today that we have a couple thread safety issues now. Since a single settings instance is shared across multiple windows (= threads), we must make sure that all getters are thread-safe. An example for such an issue:
terminal/src/cascadia/TerminalSettingsModel/Profile.cpp
Lines 384 to 392 in 52262b0
It should be sufficient to simply find all getter methods that aren't declared as
const
in the header files. We should fix this not because it's likely to happen, but rather because it's an absolute pain in the ass to debug if it does (= heisenbugs).The text was updated successfully, but these errors were encountered: