From 565e0a5623a8ec302aaefa37575caeabc3d935b9 Mon Sep 17 00:00:00 2001 From: Matt Johnston <matt@ucc.asn.au> Date: Tue, 11 Apr 2023 23:32:13 +0800 Subject: [PATCH] Exit sunsetc when stdin has EOF Fixes hanging at the end of "git push" --- async/src/cmdline_client.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/async/src/cmdline_client.rs b/async/src/cmdline_client.rs index e2c97f5..23dcebe 100644 --- a/async/src/cmdline_client.rs +++ b/async/src/cmdline_client.rs @@ -239,6 +239,9 @@ impl<'a> CmdlineRunner<'a> { // TODO buffers let mut buf = [0u8; 1000]; let l = si.read(&mut buf).await.map_err(|_| Error::ChannelEOF)?; + if l == 0 { + return Err(Error::ChannelEOF) + } let buf = &buf[..l]; -- GitLab