Add DeleteProcess API for removing execs

We need a separate API for handing the exit status and deletion of
Exec'd processes to make sure they are properly cleaned up within the
shim and daemon.

Fixes #973

Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This commit is contained in:
Michael Crosby
2017-06-08 11:45:16 -07:00
parent 4e8548cd3f
commit ff598449d1
16 changed files with 646 additions and 225 deletions

View File

@@ -63,7 +63,7 @@ var execCommand = cli.Command{
if err != nil {
return err
}
defer process.Delete()
defer process.Delete(ctx)
statusC := make(chan uint32, 1)
go func() {

View File

@@ -10,7 +10,6 @@ import (
"log"
"net"
"os"
"strconv"
"time"
gocontext "context"
@@ -154,13 +153,7 @@ var shimDeleteCommand = cli.Command{
if err != nil {
return err
}
pid, err := strconv.Atoi(context.Args().First())
if err != nil {
return err
}
r, err := service.Delete(gocontext.Background(), &shim.DeleteRequest{
Pid: uint32(pid),
})
r, err := service.Delete(gocontext.Background(), &shim.DeleteRequest{})
if err != nil {
return err
}