Merge pull request #2935 from jhowardmsft/jjh/rightexitcode

Windows: Publish exit status correctly in TaskExit
This commit is contained in:
Michael Crosby 2019-01-15 15:17:11 -05:00 committed by GitHub
commit 7d75a3f282
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -21,7 +21,6 @@ package runhcs
import (
"context"
"os"
"os/exec"
"sync"
"sync/atomic"
"syscall"
@ -69,15 +68,14 @@ func waitForProcess(ctx context.Context, process *process, p *os.Process, s *ser
})
var status int
_, eerr := p.Wait()
processState, eerr := p.Wait()
if eerr != nil {
status = 255
if exitErr, ok := eerr.(*exec.ExitError); ok {
if ws, ok := exitErr.Sys().(syscall.WaitStatus); ok {
status = ws.ExitStatus()
}
}
p.Kill()
} else {
status = processState.Sys().(syscall.WaitStatus).ExitStatus()
}
now := time.Now()
process.exit.Store(&processExit{
pid: pid,