mirror of
https://github.com/containers/podman.git
synced 2025-06-04 21:55:24 +08:00
Only allocate tty when -t
In our ezrly development, we always allocated a tty when not -d. Now we should only allocated when the user asks for it. Resolves: #573 Signed-off-by: baude <bbaude@redhat.com> Closes: #574 Approved by: rhatdan
This commit is contained in:
@ -447,13 +447,7 @@ func parseCreateOpts(c *cli.Context, runtime *libpod.Runtime, imageName string,
|
||||
return nil, err
|
||||
}
|
||||
|
||||
// Because we cannot do a non-terminal attach, we need to set tty to true
|
||||
// if detach is not false
|
||||
// TODO Allow non-terminal attach
|
||||
tty := c.Bool("tty")
|
||||
if !c.Bool("detach") && !tty {
|
||||
tty = true
|
||||
}
|
||||
|
||||
pidMode := container.PidMode(c.String("pid"))
|
||||
if !pidMode.Valid() {
|
||||
|
@ -83,18 +83,6 @@ func (c *Container) attachContainerSocket(resize <-chan remotecommand.TerminalSi
|
||||
outputStream := os.Stdout
|
||||
errorStream := os.Stderr
|
||||
defer inputStream.Close()
|
||||
|
||||
// TODO Renable this when tty/terminal discussion is had.
|
||||
/*
|
||||
tty, err := strconv.ParseBool(c.runningSpec.Annotations["io.kubernetes.cri-o.TTY"])
|
||||
if err != nil {
|
||||
return errors.Wrapf(err, "unable to parse annotations in %s", c.ID)
|
||||
}
|
||||
if !tty {
|
||||
return errors.Errorf("no tty available for %s", c.ID())
|
||||
}
|
||||
*/
|
||||
|
||||
if terminal.IsTerminal(int(inputStream.Fd())) {
|
||||
oldTermState, err := term.SaveState(inputStream.Fd())
|
||||
if err != nil {
|
||||
@ -104,8 +92,8 @@ func (c *Container) attachContainerSocket(resize <-chan remotecommand.TerminalSi
|
||||
defer term.RestoreTerminal(inputStream.Fd(), oldTermState)
|
||||
}
|
||||
|
||||
// Put both input and output into raw
|
||||
if !noStdIn {
|
||||
// Put both input and output into raw when we have a terminal
|
||||
if !noStdIn && c.config.Spec.Process.Terminal {
|
||||
term.SetRawTerminal(inputStream.Fd())
|
||||
}
|
||||
|
||||
|
@ -69,7 +69,7 @@ var _ = Describe("Podman privileged container tests", func() {
|
||||
})
|
||||
|
||||
It("podman non-privileged should have very few devices", func() {
|
||||
session := podmanTest.Podman([]string{"run", "busybox", "ls", "-l", "/dev"})
|
||||
session := podmanTest.Podman([]string{"run", "-t", "busybox", "ls", "-l", "/dev"})
|
||||
session.WaitWithDefaultTimeout()
|
||||
Expect(session.ExitCode()).To(Equal(0))
|
||||
Expect(len(session.OutputToStringArray())).To(Equal(18))
|
||||
|
Reference in New Issue
Block a user