Move supervisor to it's own package
It allows to keep main namespace cleaner Signed-off-by: Alexander Morozov <lk4d4@docker.com>
This commit is contained in:
parent
b296d50493
commit
69f8f566a2
24 changed files with 61 additions and 59 deletions
37
supervisor/delete.go
Normal file
37
supervisor/delete.go
Normal file
|
@ -0,0 +1,37 @@
|
|||
package supervisor
|
||||
|
||||
import (
|
||||
"github.com/Sirupsen/logrus"
|
||||
"github.com/docker/containerd/runtime"
|
||||
)
|
||||
|
||||
type DeleteEvent struct {
|
||||
s *Supervisor
|
||||
}
|
||||
|
||||
func (h *DeleteEvent) Handle(e *Event) error {
|
||||
if i, ok := h.s.containers[e.ID]; ok {
|
||||
if err := h.deleteContainer(i.container); err != nil {
|
||||
logrus.WithField("error", err).Error("containerd: deleting container")
|
||||
}
|
||||
if i.copier != nil {
|
||||
if err := i.copier.Close(); err != nil {
|
||||
logrus.WithField("error", err).Error("containerd: close container copier")
|
||||
}
|
||||
}
|
||||
h.s.notifySubscribers(&Event{
|
||||
Type: ExitEventType,
|
||||
ID: e.ID,
|
||||
Status: e.Status,
|
||||
Pid: e.Pid,
|
||||
})
|
||||
ContainersCounter.Dec(1)
|
||||
h.s.containerGroup.Done()
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (h *DeleteEvent) deleteContainer(container runtime.Container) error {
|
||||
delete(h.s.containers, container.ID())
|
||||
return container.Delete()
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue