ZIm/crates/extension_host/src
Kirill Bulatov c6603e4fba
Stop extensions' servers and message loops before removing their files (#34208)
Fixes an issue that caused Windows to fail when removing extension's
directories, as Zed had never stop any related processes.

Now:

* Zed shuts down and waits until the end when the language servers are
shut down

* Adds `impl Drop for WasmExtension` where does
`self.tx.close_channel();` to stop a receiver loop that holds the "lock"
on the extension's work dir.
The extension was dropped, but the channel was not closed for some
reason.

* Does more unregistration to ensure `Arc<WasmExtension>` with the `tx`
does not leak further

* Tidies up the related errors which had never reported a problematic
path before

Release Notes:

- N/A

---------

Co-authored-by: Smit Barmase <heysmitbarmase@gmail.com>
Co-authored-by: Smit <smit@zed.dev>
2025-07-10 19:25:10 +00:00
..
wasm_host debugger: Fix the JavaScript debug terminal scenario (#33924) 2025-07-05 19:48:55 -04:00
extension_host.rs Stop extensions' servers and message loops before removing their files (#34208) 2025-07-10 19:25:10 +00:00
extension_settings.rs VSCode Settings import (#29018) 2025-04-23 20:54:09 +00:00
extension_store_test.rs Stop extensions' servers and message loops before removing their files (#34208) 2025-07-10 19:25:10 +00:00
headless_host.rs Stop extensions' servers and message loops before removing their files (#34208) 2025-07-10 19:25:10 +00:00
wasm_host.rs Stop extensions' servers and message loops before removing their files (#34208) 2025-07-10 19:25:10 +00:00