Parcourir la source

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 il y a 3 mois
Parent
commit
fa7e85ed83
1 fichiers modifiés avec 3 ajouts et 0 suppressions
  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() {