diff options
author | Ondřej Surý <ondrej@sury.org> | 2011-09-13 13:13:44 +0200 |
---|---|---|
committer | Ondřej Surý <ondrej@sury.org> | 2011-09-13 13:13:44 +0200 |
commit | 9464a0c36318f8a801c07d6874bd0cea40f12504 (patch) | |
tree | f0178491c19d4f1ebc7b92eede86690998466480 /src/pkg/os/exec_windows.go | |
parent | ba9fda6068cfadd42db0b152fdca7e8b67aaf77d (diff) | |
parent | 5ff4c17907d5b19510a62e08fd8d3b11e62b431d (diff) | |
download | golang-9464a0c36318f8a801c07d6874bd0cea40f12504.tar.gz |
Merge commit 'upstream/60' into debian-sid
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) |