lsp: if language server closes stdout/stderr, break loop (#7229)

Previously we would run these loops indefinitely when a language server
closed its stdout/stderr and the `read_until` returned `0` bytes read.

Easy to reproduce: start Zed with LSP attached, `kill -9` the LSP, see
logs accumulate.

Release Notes:

- Fix high CPU usage when a language server crashes (or closes its
stdout/stderr on purpose).

Co-authored-by: Julia <julia@zed.dev>
Co-authored-by: Mikayla <mikayla@zed.dev>
3107ed847aThorsten Ball committed on 2/1/2024, 4:49:53 PM· committed by GitHubparent944a1f8
1 file changedLine totals unavailable