]> Cypherpunks repositories - gostls13.git/commitdiff
os: export ErrProcessDone variable in windows and plan9
authorAlwin Doss <alwindoss84@gmail.com>
Sun, 1 Nov 2020 04:43:20 +0000 (04:43 +0000)
committerRuss Cox <rsc@golang.org>
Tue, 3 Nov 2020 00:56:12 +0000 (00:56 +0000)
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: 2153e0d7020d8ee9e94087d02977ea049b7fd6a0
GitHub-Pull-Request: golang/go#42313
Reviewed-on: https://go-review.googlesource.com/c/go/+/266997
Reviewed-by: Bryan C. Mills <bcmills@google.com>
Run-TryBot: Bryan C. Mills <bcmills@google.com>
TryBot-Result: Go Bot <gobot@golang.org>
Trust: Dmitri Shuralyov <dmitshur@golang.org>

src/os/exec.go
src/os/exec_plan9.go
src/os/exec_unix.go
src/os/exec_windows.go

index cab6a73d94ed8558a7860a6611ae7bd2ce54e974..edb773a092b6d71d9a8c0ee521e7846659c444b4 100644 (file)
@@ -5,6 +5,7 @@
 package os
 
 import (
+       "errors"
        "internal/testlog"
        "runtime"
        "sync"
@@ -13,6 +14,9 @@ import (
        "time"
 )
 
+// ErrProcessDone indicates a Process has finished.
+var ErrProcessDone = errors.New("os: process already finished")
+
 // Process stores the information about a process created by StartProcess.
 type Process struct {
        Pid    int
index ef8dad11b61385a14066d2fdb5e6252b210a0799..85801539116a2912f85b225c20356cc0493d8853 100644 (file)
@@ -5,7 +5,6 @@
 package os
 
 import (
-       "errors"
        "runtime"
        "syscall"
        "time"
@@ -52,7 +51,7 @@ func (p *Process) writeProcFile(file string, data string) error {
 
 func (p *Process) signal(sig Signal) error {
        if p.done() {
-               return errors.New("os: process already finished")
+               return ErrProcessDone
        }
        if e := p.writeProcFile("note", sig.String()); e != nil {
                return NewSyscallError("signal", e)
index 624061297bbe34ccf7ef03b996861be99a9c5b61..a1703a1259488161ab5c0f6640a350c178934c2d 100644 (file)
@@ -59,9 +59,6 @@ func (p *Process) wait() (ps *ProcessState, err error) {
        return ps, nil
 }
 
-// ErrProcessDone indicates a Process has finished.
-var ErrProcessDone = errors.New("os: process already finished")
-
 func (p *Process) signal(sig Signal) error {
        if p.Pid == -1 {
                return errors.New("os: process already released")
index 24ddf89bb6a25bf508bd8c712ad17f387b9291c7..5710401acdb92d44dca834d2ac9c42fe09b9b2d7 100644 (file)
@@ -61,7 +61,7 @@ func (p *Process) signal(sig Signal) error {
                return syscall.EINVAL
        }
        if p.done() {
-               return errors.New("os: process already finished")
+               return ErrProcessDone
        }
        if sig == Kill {
                err := terminateProcess(p.Pid, 1)