Browse code

Resolve connection reset by peer regression

Signed-off-by: Jim Minter <jminter@redhat.com>
(cherry picked from commit dc0ee98805c1e9282c729a79cdf10e59bad3cb09)
Signed-off-by: Victor Vieux <victorvieux@gmail.com>

Jim Minter authored on 2017/03/15 18:36:44
Showing 1 changed files
... ...
@@ -36,7 +36,7 @@ func (daemon *Daemon) ContainerAttach(prefixOrName string, c *backend.ContainerA
36 36
 	}
37 37
 
38 38
 	cfg := stream.AttachConfig{
39
-		UseStdin:   c.UseStdin && container.Config.OpenStdin,
39
+		UseStdin:   c.UseStdin,
40 40
 		UseStdout:  c.UseStdout,
41 41
 		UseStderr:  c.UseStderr,
42 42
 		TTY:        container.Config.Tty,
... ...
@@ -79,7 +79,7 @@ func (daemon *Daemon) ContainerAttachRaw(prefixOrName string, stdin io.ReadClose
79 79
 		return err
80 80
 	}
81 81
 	cfg := stream.AttachConfig{
82
-		UseStdin:   stdin != nil && container.Config.OpenStdin,
82
+		UseStdin:   stdin != nil,
83 83
 		UseStdout:  stdout != nil,
84 84
 		UseStderr:  stderr != nil,
85 85
 		TTY:        container.Config.Tty,
... ...
@@ -147,6 +147,10 @@ func (daemon *Daemon) containerAttach(c *container.Container, cfg *stream.Attach
147 147
 		cfg.Stdin = r
148 148
 	}
149 149
 
150
+	if !c.Config.OpenStdin {
151
+		cfg.Stdin = nil
152
+	}
153
+
150 154
 	waitChan := make(chan struct{})
151 155
 	if c.Config.StdinOnce && !c.Config.Tty {
152 156
 		defer func() {