Skip to content

Commit ace7582

Browse files
Merge pull request #999 from libp2p/fix/context-from-996
fix(crawler): separate timeout per query
2 parents f671a50 + 02e9c54 commit ace7582

File tree

1 file changed

+3
-3
lines changed

1 file changed

+3
-3
lines changed

crawler/crawler.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -147,10 +147,10 @@ func (c *DefaultCrawler) Run(ctx context.Context, startingPeers []*peer.AddrInfo
147147
for i := 0; i < c.parallelism; i++ {
148148
go func() {
149149
defer wg.Done()
150-
ctx, cancel := context.WithTimeout(ctx, c.queryTimeout)
151-
defer cancel()
152150
for p := range jobs {
153-
res := c.queryPeer(ctx, p)
151+
qctx, cancel := context.WithTimeout(ctx, c.queryTimeout)
152+
res := c.queryPeer(qctx, p)
153+
cancel() // do not defer, cleanup after each job
154154
results <- res
155155
}
156156
}()

0 commit comments

Comments
 (0)