Skip to content

Commit a8bb7be

Browse files
authored
windows_exception: Improve async signal safety (#14619)
It's not as bad as I feared to bypass libsys's stderr. (There's still a lock in libsys's backtrace, which might also not be too bad to bypass.)
1 parent 7cdc1f6 commit a8bb7be

File tree

4 files changed

+246
-58
lines changed

4 files changed

+246
-58
lines changed

Cargo.lock

Lines changed: 2 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ uv-workspace = { path = "crates/uv-workspace" }
7575
anstream = { version = "0.6.15" }
7676
anyhow = { version = "1.0.89" }
7777
arcstr = { version = "1.2.0" }
78+
arrayvec = { version = "0.7.6" }
7879
astral-tokio-tar = { version = "0.5.1" }
7980
async-channel = { version = "2.3.1" }
8081
async-compression = { version = "0.4.12", features = ["bzip2", "gzip", "xz", "zstd"] }
@@ -184,7 +185,7 @@ url = { version = "2.5.2", features = ["serde"] }
184185
version-ranges = { git = "https://github.com/astral-sh/pubgrub", rev = "06ec5a5f59ffaeb6cf5079c6cb184467da06c9db" }
185186
walkdir = { version = "2.5.0" }
186187
which = { version = "8.0.0", features = ["regex"] }
187-
windows = { version = "0.59.0", features = ["Win32_System_Kernel", "Win32_System_Diagnostics_Debug", "Win32_Storage_FileSystem"] }
188+
windows = { version = "0.59.0", features = ["Win32_Globalization", "Win32_System_Console", "Win32_System_Kernel", "Win32_System_Diagnostics_Debug", "Win32_Storage_FileSystem"] }
188189
windows-core = { version = "0.59.0" }
189190
windows-registry = { version = "0.5.0" }
190191
windows-result = { version = "0.3.0" }

crates/uv/Cargo.toml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,8 +107,10 @@ which = { workspace = true }
107107
zip = { workspace = true }
108108

109109
[target.'cfg(target_os = "windows")'.dependencies]
110+
arrayvec = { workspace = true }
110111
self-replace = { workspace = true }
111112
windows = { workspace = true }
113+
windows-result = { workspace = true }
112114

113115
[dev-dependencies]
114116
assert_cmd = { version = "2.0.16" }

0 commit comments

Comments
 (0)