aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/pkg/exec.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/pkg/exec.go')
-rw-r--r--internal/pkg/exec.go15
1 files changed, 5 insertions, 10 deletions
diff --git a/internal/pkg/exec.go b/internal/pkg/exec.go
index 42831131..eb72ccbd 100644
--- a/internal/pkg/exec.go
+++ b/internal/pkg/exec.go
@@ -440,28 +440,23 @@ func (a *execArtifact) cure(f *FContext, hostNet bool) (err error) {
}
}()
- bw := f.cache.getWriter(status)
+ brStdout, brStderr := f.cache.getReader(stdout), f.cache.getReader(stderr)
stdoutDone, stderrDone := make(chan struct{}), make(chan struct{})
go scanVerbose(
msg, cancel, stdoutDone,
"("+a.name+":1)",
- io.TeeReader(stdout, bw),
+ io.TeeReader(brStdout, status),
)
go scanVerbose(
msg, cancel, stderrDone,
"("+a.name+":2)",
- io.TeeReader(stderr, bw),
+ io.TeeReader(brStderr, status),
)
defer func() {
<-stdoutDone
<-stderrDone
-
- flushErr := bw.Flush()
- if err == nil {
- err = flushErr
- }
- f.cache.putWriter(bw)
-
+ f.cache.putReader(brStdout)
+ f.cache.putReader(brStderr)
}()
} else {
z.Stdout, z.Stderr = status, status