summaryrefslogtreecommitdiff
path: root/libgo/go/os/exec_windows.go
diff options
context:
space:
mode:
Diffstat (limited to 'libgo/go/os/exec_windows.go')
-rw-r--r--libgo/go/os/exec_windows.go4
1 files changed, 3 insertions, 1 deletions
diff --git a/libgo/go/os/exec_windows.go b/libgo/go/os/exec_windows.go
index 72b5a931999..d89db2022cc 100644
--- a/libgo/go/os/exec_windows.go
+++ b/libgo/go/os/exec_windows.go
@@ -63,7 +63,9 @@ func (p *Process) signal(sig Signal) error {
return errors.New("os: process already finished")
}
if sig == Kill {
- return terminateProcess(p.Pid, 1)
+ err := terminateProcess(p.Pid, 1)
+ runtime.KeepAlive(p)
+ return err
}
// TODO(rsc): Handle Interrupt too?
return syscall.Errno(syscall.EWINDOWS)