containerd/signal.go
Michael Crosby 3010f209ff Refactor container info in supervisor
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
2015-12-11 11:27:33 -08:00

22 lines
412 B
Go

package containerd
type SignalEvent struct {
s *Supervisor
}
func (h *SignalEvent) Handle(e *Event) error {
i, ok := h.s.containers[e.ID]
if !ok {
return ErrContainerNotFound
}
processes, err := i.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
}