containerd/signal.go
Michael Crosby 779cb69e6d Refactor event loop with types
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-12-01 10:55:13 -08:00

22 lines
418 B
Go

package containerd
type SignalEvent struct {
s *Supervisor
}
func (h *SignalEvent) Handle(e *Event) error {
container, ok := h.s.containers[e.ID]
if !ok {
return ErrContainerNotFound
}
processes, err := container.Processes()
if err != nil {
return err
}
for _, p := range processes {
if pid, err := p.Pid(); err == nil && pid == e.Pid {
return p.Signal(e.Signal)
}
}
return ErrProcessNotFound
}