[v2][process][windows] fix Kill causes DuplicateHandle error

pull/1145/head
shirou 4 years ago
parent b96339ab43
commit 703175c3fb

@ -669,7 +669,10 @@ func (p *Process) TerminateWithContext(ctx context.Context) error {
}
func (p *Process) KillWithContext(ctx context.Context) error {
process := os.Process{Pid: int(p.Pid)}
process, err := os.FindProcess(int(p.Pid))
if err != nil {
return err
}
return process.Kill()
}
@ -928,14 +931,14 @@ func getProcessEnvironmentVariables(pid int32, ctx context.Context) ([]string, e
is32BitProcess: procIs32Bits,
offset: processParameterBlockAddress,
})
envvarScanner.Split(func(data []byte, atEOF bool) (advance int, token []byte, err error){
envvarScanner.Split(func(data []byte, atEOF bool) (advance int, token []byte, err error) {
if atEOF && len(data) == 0 {
return 0, nil, nil
}
// Check for UTF-16 zero character
for i := 0; i < len(data) - 1; i+=2 {
for i := 0; i < len(data)-1; i += 2 {
if data[i] == 0 && data[i+1] == 0 {
return i+2, data[0:i], nil
return i + 2, data[0:i], nil
}
}
if atEOF {

Loading…
Cancel
Save