From 65980c7beb74cb67a86ff899c67def43483185be Mon Sep 17 00:00:00 2001 From: Jason Gedge Date: Mon, 13 Jan 2020 01:38:58 -0500 Subject: [PATCH] Revert 8cadc5a4 (#1211) --- src/commands/classified/external.rs | 37 ++++++++++++++++------------- 1 file changed, 20 insertions(+), 17 deletions(-) diff --git a/src/commands/classified/external.rs b/src/commands/classified/external.rs index c55b3d4ed..338f48202 100644 --- a/src/commands/classified/external.rs +++ b/src/commands/classified/external.rs @@ -296,23 +296,26 @@ async fn run_with_stdin( } } - let errored = match popen.wait() { - Ok(status) => !status.success(), - Err(e) => true, - }; - - if errored { - yield Ok(Value { - value: UntaggedValue::Error( - ShellError::labeled_error( - "External command failed", - "command failed", - &name_tag, - ) - ), - tag: name_tag, - }); - }; + loop { + match popen.poll() { + None => std::thread::sleep(std::time::Duration::new(0, 100_000_000)), + Some(status) => { + if !status.success() { + yield Ok(Value { + value: UntaggedValue::Error( + ShellError::labeled_error( + "External command failed", + "command failed", + &name_tag, + ) + ), + tag: name_tag, + }); + } + break; + } + } + } }; Ok(Some(stream.to_input_stream()))