Explorar el Código

Write error to watcher error channel if Start() fails

Up's loop will notice globalCtx is done, and invoke watcher.Stop(). Stop() reads from the watcher error channel. If Start() does not write an error, Stop() will never finish.

Fixes https://github.com/docker/compose/issues/13262

Signed-off-by: Benedikt Radtke <[email protected]>
Benedikt Radtke hace 3 meses
padre
commit
fa7e85ed83
Se han modificado 1 ficheros con 3 adiciones y 0 borrados
  1. 3 0
      pkg/compose/watch.go

+ 3 - 0
pkg/compose/watch.go

@@ -89,6 +89,9 @@ func (w *Watcher) Start(ctx context.Context) error {
 	w.stopFn = cancelFunc
 	wait, err := w.watchFn(ctx, w.project, w.options)
 	if err != nil {
+		go func() {
+			w.errCh <- err
+		}()
 		return err
 	}
 	go func() {