From 76f25b7708c18a3225cff45b9f7f56c089679732 Mon Sep 17 00:00:00 2001 From: nytpu Date: Tue, 23 Mar 2021 08:53:06 -0600 Subject: Fix bug in co refresh where contexts would be immediately cancelled --- fetch/fetch.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) (limited to 'fetch/fetch.go') diff --git a/fetch/fetch.go b/fetch/fetch.go index 428457f..d6d9fe6 100644 --- a/fetch/fetch.go +++ b/fetch/fetch.go @@ -46,7 +46,7 @@ func Page(data *core.FullData, remote *url.URL, title string) error { type refreshJob struct { typ string // "feed" or "page" - url url.URL + url *url.URL } // RefreshAll will check all feeds and pages in a core.FullData for updates @@ -74,16 +74,16 @@ func RefreshAll(data *core.FullData, numWorkers int) error { } // get all keys in maps - feedKeys := make([]url.URL, 0, len(data.Feeds)) + feedKeys := make([]*url.URL, 0, len(data.Feeds)) for k := range data.Feeds { // we know that the keys are already validated uris, so no err u, _ := url.ParseRequestURI(k) - feedKeys = append(feedKeys, *u) + feedKeys = append(feedKeys, u) } - pageKeys := make([]url.URL, 0, len(data.Pages)) + pageKeys := make([]*url.URL, 0, len(data.Pages)) for k := range data.Pages { u, _ := url.ParseRequestURI(k) - pageKeys = append(pageKeys, *u) + pageKeys = append(pageKeys, u) } data.RUnlock() @@ -109,9 +109,9 @@ func refreshWorker(wg *sync.WaitGroup, jobs <-chan refreshJob, returns chan<- er defer wg.Done() for j := range jobs { if j.typ == "feed" { - returns <- Feed(data, &j.url, "") + returns <- Feed(data, j.url, "") } else if j.typ == "page" { - returns <- Page(data, &j.url, "") + returns <- Page(data, j.url, "") } } } -- cgit v1.2.3