Skip to content

Commit 45205bc

Browse files
alwindossrsc
authored andcommitted
os: export ErrProcessDone variable in windows and plan9
Exposes ErrProcessDone variable in windows and plan9 also returns this error code instead of errors.New("os: process already finished") Fixes #42311 Change-Id: Ie807b6526e7b6c27636e6bffe5ff0c904b319be4 GitHub-Last-Rev: 2153e0d GitHub-Pull-Request: #42313 Reviewed-on: https://go-review.googlesource.com/c/go/+/266997 Reviewed-by: Bryan C. Mills <[email protected]> Run-TryBot: Bryan C. Mills <[email protected]> TryBot-Result: Go Bot <[email protected]> Trust: Dmitri Shuralyov <[email protected]>
1 parent ebc1b8e commit 45205bc

File tree

4 files changed

+6
-6
lines changed

4 files changed

+6
-6
lines changed

src/os/exec.go

+4
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
package os
66

77
import (
8+
"errors"
89
"internal/testlog"
910
"runtime"
1011
"sync"
@@ -13,6 +14,9 @@ import (
1314
"time"
1415
)
1516

17+
// ErrProcessDone indicates a Process has finished.
18+
var ErrProcessDone = errors.New("os: process already finished")
19+
1620
// Process stores the information about a process created by StartProcess.
1721
type Process struct {
1822
Pid int

src/os/exec_plan9.go

+1-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@
55
package os
66

77
import (
8-
"errors"
98
"runtime"
109
"syscall"
1110
"time"
@@ -52,7 +51,7 @@ func (p *Process) writeProcFile(file string, data string) error {
5251

5352
func (p *Process) signal(sig Signal) error {
5453
if p.done() {
55-
return errors.New("os: process already finished")
54+
return ErrProcessDone
5655
}
5756
if e := p.writeProcFile("note", sig.String()); e != nil {
5857
return NewSyscallError("signal", e)

src/os/exec_unix.go

-3
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,6 @@ func (p *Process) wait() (ps *ProcessState, err error) {
5959
return ps, nil
6060
}
6161

62-
// ErrProcessDone indicates a Process has finished.
63-
var ErrProcessDone = errors.New("os: process already finished")
64-
6562
func (p *Process) signal(sig Signal) error {
6663
if p.Pid == -1 {
6764
return errors.New("os: process already released")

src/os/exec_windows.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ func (p *Process) signal(sig Signal) error {
6161
return syscall.EINVAL
6262
}
6363
if p.done() {
64-
return errors.New("os: process already finished")
64+
return ErrProcessDone
6565
}
6666
if sig == Kill {
6767
err := terminateProcess(p.Pid, 1)

0 commit comments

Comments
 (0)