Add if judgment before receiving operations on daemonWaitCh
receive operations on a nil channel will always block, this lead containerd not started.
@@ -307,7 +307,9 @@ func (r *remote) monitorConnection(monitor *containerd.Client) {
<-time.After(100 * time.Millisecond)
system.KillProcess(r.daemonPid)
}
+ if r.daemonWaitCh != nil {
<-r.daemonWaitCh
+ }
monitor.Close()
os.Remove(r.GRPC.Address)
