]> Cypherpunks repositories - gostls13.git/commit
os/exec: second call to Cmd.Start is always an error
authorAlan Donovan <adonovan@google.com>
Tue, 9 Dec 2025 15:06:23 +0000 (10:06 -0500)
committerAlan Donovan <adonovan@google.com>
Mon, 22 Dec 2025 18:43:07 +0000 (10:43 -0800)
commit3d77a0b15ea2a6d2f7b3e2ba483f148d7c6ee174
tree171d863efefb26bcb6d1846977669b6edf42748d
parent7ecb1f36acab7b48d77991d58d456a34074a2d0e
os/exec: second call to Cmd.Start is always an error

Previously it would return an error only if the first call
resulted in process creation, contra the intent of the
comment at exec.Cmd:

// A Cmd cannot be reused after calling its [Cmd.Start], [Cmd.Run],
// [Cmd.Output], or [Cmd.CombinedOutput] methods.

Also, clear the Cmd.goroutines slice in case of failure to
start a process, so that the closures can be GC'd and their
pipe fds finalized and closed.

Fixes #76746

Change-Id: Ic63a4dced0aa52c2d4be7d44f6dcfc84ee22282c
Reviewed-on: https://go-review.googlesource.com/c/go/+/728642
LUCI-TryBot-Result: Go LUCI <golang-scoped@luci-project-accounts.iam.gserviceaccount.com>
Reviewed-by: Damien Neil <dneil@google.com>
src/os/exec/exec.go
src/os/exec/exec_test.go