diff options
| -rw-r--r-- | main.go | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -32,6 +32,8 @@ func main() { worklist <- []url.URL{*startURL} }() + sem := make(chan struct{}, *maxConcurrency) + seen := make(map[url.URL]bool) for list := range worklist { for _, u := range list { @@ -40,6 +42,9 @@ func main() { seen[u] = true go func() { + sem <- struct{}{} + defer func() { <-sem }() + worklist <- crawl(u) }() } |
