fix: task lock by unreachable torrent (#431)

This commit is contained in:
Levi authored and GitHub committed 2024-03-29 22:11:21 +08:00
1 parent bd6d6be71f
commit 56ef25065e
5 files changed
+93 -67

No files matched your search

+5
View File
@@ -33,6 +33,7 @@ type Fetcher struct {
meta *fetcher.FetcherMeta
torrentReady atomic.Bool
torrentDrop atomic.Bool
create atomic.Bool
progress fetcher.Progress
}
@@ -143,6 +144,7 @@ func (f *Fetcher) Pause() (err error) {
}
func (f *Fetcher) Close() (err error) {
f.torrentDrop.Store(false)
f.safeDrop()
return nil
}
@@ -158,6 +160,9 @@ func (f *Fetcher) safeDrop() {
func (f *Fetcher) Wait() (err error) {
for {
if f.torrentDrop.Load() {
break
}
if f.torrentReady.Load() && len(f.meta.Opts.SelectFiles) > 0 {
done := true
for _, selectIndex := range f.meta.Opts.SelectFiles {