diff options
author | Tom Lanyon <tomlanyon@google.com> | 2017-11-23 12:21:25 +1100 |
---|---|---|
committer | Rob Pike <r@golang.org> | 2017-11-23 20:01:56 +0000 |
commit | c866110689796c42ab379de1402462d03dfe23fa (patch) | |
tree | e34fcf52d691ddf48ebb94f2e27b5beee59d1dd3 /src/os/exec/exec.go | |
parent | e22d79ec1d6f6bae0fbc0d658baf7718c9dd01b0 (diff) | |
download | go-c866110689796c42ab379de1402462d03dfe23fa.tar.gz go-c866110689796c42ab379de1402462d03dfe23fa.zip |
os/exec: Stdout/Stderr doc cleanup.
Following comments on CL 76320.
Breaks Cmd.Std{out,err} doc into three paragraphs and updates Cmd.Stdin
formatting to match.
Fixes an erroneous reference to Stdin in the output goroutine comment, while
keeping the wording consistent between Stdin and Stdout/Stderr.
Change-Id: I186a0e2d4b85dfb939443a17e62a1eb2ef64b1bf
Reviewed-on: https://go-review.googlesource.com/79595
Reviewed-by: Rob Pike <r@golang.org>
Diffstat (limited to 'src/os/exec/exec.go')
-rw-r--r-- | src/os/exec/exec.go | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/src/os/exec/exec.go b/src/os/exec/exec.go index 4a5789647f..8a49fe3b58 100644 --- a/src/os/exec/exec.go +++ b/src/os/exec/exec.go @@ -77,9 +77,12 @@ type Cmd struct { Dir string // Stdin specifies the process's standard input. + // // If Stdin is nil, the process reads from the null device (os.DevNull). + // // If Stdin is an *os.File, the process's standard input is connected // directly to that file. + // // Otherwise, during the execution of the command a separate // goroutine reads from Stdin and delivers that data to the command // over a pipe. In this case, Wait does not complete until the goroutine @@ -92,14 +95,13 @@ type Cmd struct { // If either is nil, Run connects the corresponding file descriptor // to the null device (os.DevNull). // - // If either is an *os.File, the process's standard output or standard - // error, respectively, are connected directly to that file. Otherwise, - // if either is not nil, during the execution of the command a separate - // goroutine reads from the process's standard output or standard error - // and delivers that to Stdout or Stderr. In this case, Wait does not - // complete until the goroutine stops copying, either because it has - // reached the end of Stdin (EOF or a read error) or because writing to - // the pipe returned an error. + // If either is an *os.File, the corresponding output from the process + // is connected directly to that file. + // + // Otherwise, during the execution of the command a separate goroutine + // reads from the process over a pipe and delivers that data to the + // corresponding Writer. In this case, Wait does not complete until the + // goroutine reaches EOF or encounters an error. // // If Stdout and Stderr are the same writer, and have a type that can // be compared with ==, at most one goroutine at a time will call Write. |