summaryrefslogtreecommitdiff
path: root/pkg/adapter/containers.go
diff options
context:
space:
mode:
authorPeter Hunt <pehunt@redhat.com>2019-10-31 10:41:26 -0400
committerPeter Hunt <pehunt@redhat.com>2019-10-31 11:20:12 -0400
commit1df4dba0a0c335ad68b1c2202b8099cd87aa3d94 (patch)
treeb19dfe0cda86f5248bd6627725a7e86e5381c61d /pkg/adapter/containers.go
parent9ba8dae0bfa5a5e894cf80e2ed114f6ca4bceb60 (diff)
downloadpodman-1df4dba0a0c335ad68b1c2202b8099cd87aa3d94.tar.gz
podman-1df4dba0a0c335ad68b1c2202b8099cd87aa3d94.tar.bz2
podman-1df4dba0a0c335ad68b1c2202b8099cd87aa3d94.zip
Switch to bufio Reader for exec streams
There were many situations that made exec act funky with input. pipes didn't work as expected, as well as sending input before the shell opened. Thinking about it, it seemed as though the issues were because of how os.Stdin buffers (it doesn't). Dropping this input had some weird consequences. Instead, read from os.Stdin as bufio.Reader, allowing the input to buffer before passing it to the container. Signed-off-by: Peter Hunt <pehunt@redhat.com>
Diffstat (limited to 'pkg/adapter/containers.go')
-rw-r--r--pkg/adapter/containers.go4
1 files changed, 2 insertions, 2 deletions
diff --git a/pkg/adapter/containers.go b/pkg/adapter/containers.go
index 430b6925d..27fd42899 100644
--- a/pkg/adapter/containers.go
+++ b/pkg/adapter/containers.go
@@ -891,7 +891,7 @@ func (r *LocalRuntime) execPS(c *libpod.Container, args []string) ([]string, err
streams := new(libpod.AttachStreams)
streams.OutputStream = wPipe
streams.ErrorStream = wPipe
- streams.InputStream = os.Stdin
+ streams.InputStream = bufio.NewReader(os.Stdin)
streams.AttachOutput = true
streams.AttachError = true
streams.AttachInput = true
@@ -969,7 +969,7 @@ func (r *LocalRuntime) ExecContainer(ctx context.Context, cli *cliconfig.ExecVal
streams.OutputStream = os.Stdout
streams.ErrorStream = os.Stderr
if cli.Interactive {
- streams.InputStream = os.Stdin
+ streams.InputStream = bufio.NewReader(os.Stdin)
streams.AttachInput = true
}
streams.AttachOutput = true