소스 검색

Make sure to flush buffer when setting raw mode

Guillaume J. Charmes 12 년 전
부모
커밋
7e1e7d14fa
1개의 변경된 파일5개의 추가작업 그리고 0개의 파일을 삭제
  1. 5 0
      commands.go

+ 5 - 0
commands.go

@@ -803,6 +803,8 @@ 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{})
 	}
 	return <-container.Attach(stdin, nil, stdout, stdout)
 }
@@ -888,8 +890,11 @@ func (srv *Server) CmdRun(stdin io.ReadCloser, stdout rcli.DockerConn, args ...s
 		fmt.Fprintln(stdout, "Error: Command not specified")
 		return fmt.Errorf("Command not specified")
 	}
+
 	if config.Tty {
 		stdout.SetOptionRawTerminal()
+		// Flush the options to make sure the client sets the raw mode
+		stdout.Write([]byte{})
 	}
 
 	// Create new container