Hi Ian! Thank you so much for sharing that link with me. It was very 
enriching to read it.

As I commented in my first message, the fact that the problem did not occur 
on Mac got me a bit confused at first.

Best!

On Friday, February 4, 2022 at 5:42:00 PM UTC-3 Ian Lance Taylor wrote:

> On Fri, Feb 4, 2022 at 12:30 PM Pablo Caballero <pdc...@gmail.com> wrote:
> >
> > Errata
> >
> > Go is blocked trying to read from the channel (exec\exec.go):
> >
> > for range c.goroutine { if err := <-c.errch; err != nil && copyError == 
> nil { copyError = err } }
> >
> > I think that the problem happens if you specify an io.Writer as 
> cmd.Stdout and such writer doesn’t satisfy os.File (Output() uses a 
> bytes.Buffer internally) because in that case a Pipe is used (to copy data 
> between the writer/process). It seems like the pipe is inherited by the 
> child process and isn’t closed until the child finish (blocking the 
> goroutine that reads from the pipe and writes to the writer even if the 
> parent process is gone).
>
> For reference, this class of problems is https://go.dev/issue/23019.
>
> Ian
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/8ada3531-e6fb-4964-b0a0-d4a68d027ca6n%40googlegroups.com.

Reply via email to