diff --git a/commands.go b/commands.go index 29508ce0a3..9a520da8a0 100644 --- a/commands.go +++ b/commands.go @@ -803,9 +803,9 @@ func (srv *Server) CmdAttach(stdin io.ReadCloser, stdout rcli.DockerConn, args . if container.Config.Tty { stdout.SetOptionRawTerminal() - // Flush the options to make sure the client sets the raw mode - stdout.Write([]byte{}) } + // Flush the options to make sure the client sets the raw mode + stdout.Flush() return <-container.Attach(stdin, nil, stdout, stdout) } @@ -893,9 +893,10 @@ func (srv *Server) CmdRun(stdin io.ReadCloser, stdout rcli.DockerConn, args ...s if config.Tty { stdout.SetOptionRawTerminal() - // Flush the options to make sure the client sets the raw mode - stdout.Flush() } + // Flush the options to make sure the client sets the raw mode + // or tell the client there is no options + stdout.Flush() // Create new container container, err := srv.runtime.Create(config) diff --git a/rcli/tcp.go b/rcli/tcp.go index 8c990ed82f..e9dba7f319 100644 --- a/rcli/tcp.go +++ b/rcli/tcp.go @@ -93,7 +93,7 @@ func (c *DockerTCPConn) Write(b []byte) (int, error) { } func (c *DockerTCPConn) Flush() error { - _, err := c.conn.Write([]byte{}) + _, err := c.Write([]byte{}) return err }