diff --git a/dfget/core/downloader/downloader.go b/dfget/core/downloader/downloader.go index a0bc1698f..e0157b197 100644 --- a/dfget/core/downloader/downloader.go +++ b/dfget/core/downloader/downloader.go @@ -53,7 +53,12 @@ func DoDownloadTimeout(downloader Downloader, timeout time.Duration) error { var ch = make(chan error) go func() { - ch <- downloader.Run(ctx) + select { + case <- ctx.Done(): + return + case ch <- downloader.Run(ctx): + return + } }() defer cancel()