diff options
Diffstat (limited to 'src/pkg/os/exec_windows.go')
-rw-r--r-- | src/pkg/os/exec_windows.go | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/pkg/os/exec_windows.go b/src/pkg/os/exec_windows.go index 5b432d398..65e94ac4a 100644 --- a/src/pkg/os/exec_windows.go +++ b/src/pkg/os/exec_windows.go @@ -24,11 +24,15 @@ func (p *Process) Wait(options int) (w *Waitmsg, err Error) { if e != 0 { return nil, NewSyscallError("GetExitCodeProcess", e) } + p.done = true return &Waitmsg{p.Pid, syscall.WaitStatus{s, ec}, new(syscall.Rusage)}, nil } // Signal sends a signal to the Process. func (p *Process) Signal(sig Signal) Error { + if p.done { + return NewError("os: process already finished") + } switch sig.(UnixSignal) { case SIGKILL: e := syscall.TerminateProcess(syscall.Handle(p.handle), 1) |