6 "github.com/containerd/containerd/runtime"
9 // UpdateTask holds needed parameters to update a container resource constraints
10 type UpdateTask struct {
14 Resources *runtime.Resource
17 func (s *Supervisor) updateContainer(t *UpdateTask) error {
18 i, ok := s.containers[t.ID]
20 return ErrContainerNotFound
22 container := i.container
26 if err := container.Resume(); err != nil {
29 s.notifySubscribers(Event{
32 Timestamp: time.Now(),
35 if err := container.Pause(); err != nil {
38 s.notifySubscribers(Event{
41 Timestamp: time.Now(),
44 return ErrUnknownContainerStatus
48 if t.Resources != nil {
49 return container.UpdateResources(t.Resources)
54 // UpdateProcessTask holds needed parameters to update a container
55 // process terminal size or close its stdin
56 type UpdateProcessTask struct {
65 func (s *Supervisor) updateProcess(t *UpdateProcessTask) error {
66 i, ok := s.containers[t.ID]
68 return ErrContainerNotFound
70 processes, err := i.container.Processes()
74 var process runtime.Process
75 for _, p := range processes {
82 return ErrProcessNotFound
85 if err := process.CloseStdin(); err != nil {
89 if t.Width > 0 || t.Height > 0 {
90 if err := process.Resize(t.Width, t.Height); err != nil {