Fix panic on nil container
This commit is contained in:
		| @@ -73,11 +73,11 @@ func (s *Supervisor) Start(events chan Event) error { | |||||||
| 				}).Debug("containerd: process exited") | 				}).Debug("containerd: process exited") | ||||||
| 				if container, ok := s.processes[e.Pid]; ok { | 				if container, ok := s.processes[e.Pid]; ok { | ||||||
| 					container.SetExited(e.Status) | 					container.SetExited(e.Status) | ||||||
|  | 					delete(s.processes, e.Pid) | ||||||
|  | 					delete(s.containers, container.ID()) | ||||||
| 					if err := container.Delete(); err != nil { | 					if err := container.Delete(); err != nil { | ||||||
| 						logrus.WithField("error", err).Error("containerd: deleting container") | 						logrus.WithField("error", err).Error("containerd: deleting container") | ||||||
| 					} | 					} | ||||||
| 					delete(s.processes, e.Pid) |  | ||||||
| 					delete(s.containers, container.ID()) |  | ||||||
| 				} | 				} | ||||||
| 			case *StartedEvent: | 			case *StartedEvent: | ||||||
| 				s.containers[e.ID] = e.Container | 				s.containers[e.ID] = e.Container | ||||||
| @@ -122,6 +122,7 @@ func (s *Supervisor) worker(id int) { | |||||||
| 			container, err := s.runtime.Create(j.ID, j.BundlePath) | 			container, err := s.runtime.Create(j.ID, j.BundlePath) | ||||||
| 			if err != nil { | 			if err != nil { | ||||||
| 				j.Err <- err | 				j.Err <- err | ||||||
|  | 				continue | ||||||
| 			} | 			} | ||||||
| 			s.SendEvent(&StartedEvent{ | 			s.SendEvent(&StartedEvent{ | ||||||
| 				ID:        j.ID, | 				ID:        j.ID, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Michael Crosby
					Michael Crosby