4e05bf491a
Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
33 lines
645 B
Go
33 lines
645 B
Go
package supervisor
|
|
|
|
import (
|
|
"sync"
|
|
|
|
"github.com/docker/containerd/runtime"
|
|
)
|
|
|
|
// StartResponse is the response containing a started container
|
|
type StartResponse struct {
|
|
Container runtime.Container
|
|
}
|
|
|
|
// Task executes an action returning an error chan with either nil or
|
|
// the error from executing the task
|
|
type Task interface {
|
|
// ErrorCh returns a channel used to report and error from an async task
|
|
ErrorCh() chan error
|
|
}
|
|
|
|
type baseTask struct {
|
|
errCh chan error
|
|
mu sync.Mutex
|
|
}
|
|
|
|
func (t *baseTask) ErrorCh() chan error {
|
|
t.mu.Lock()
|
|
defer t.mu.Unlock()
|
|
if t.errCh == nil {
|
|
t.errCh = make(chan error, 1)
|
|
}
|
|
return t.errCh
|
|
}
|