1
0
mirror of https://github.com/golang/go synced 2024-11-22 09:24:41 -07:00

os/exec: add Cmd.Waitmsg, fix a misleading comment

Fixes #2948

R=golang-dev, r
CC=golang-dev
https://golang.org/cl/5655048
This commit is contained in:
Brad Fitzpatrick 2012-02-10 14:52:08 +11:00
parent 4c7695126d
commit 5d198bf866

View File

@ -68,7 +68,7 @@ type Cmd struct {
// new process. It does not include standard input, standard output, or // new process. It does not include standard input, standard output, or
// standard error. If non-nil, entry i becomes file descriptor 3+i. // standard error. If non-nil, entry i becomes file descriptor 3+i.
// //
// BUG: on OS X 10.6, child processes may sometimes inherit extra fds. // BUG: on OS X 10.6, child processes may sometimes inherit unwanted fds.
// http://golang.org/issue/2603 // http://golang.org/issue/2603
ExtraFiles []*os.File ExtraFiles []*os.File
@ -79,6 +79,10 @@ type Cmd struct {
// Process is the underlying process, once started. // Process is the underlying process, once started.
Process *os.Process Process *os.Process
// Waitmsg contains information about an exited process,
// available after a call to Wait or Run.
Waitmsg *os.Waitmsg
err error // last error (from LookPath, stdin, stdout, stderr) err error // last error (from LookPath, stdin, stdout, stderr)
finished bool // when Wait was called finished bool // when Wait was called
childFiles []*os.File childFiles []*os.File
@ -288,6 +292,7 @@ func (c *Cmd) Wait() error {
} }
c.finished = true c.finished = true
msg, err := c.Process.Wait(0) msg, err := c.Process.Wait(0)
c.Waitmsg = msg
var copyError error var copyError error
for _ = range c.goroutine { for _ = range c.goroutine {