2 ms·
We're blocking in `limitCh <- struct{}{}` if we're trying to spawn more goroutines (because `pss` is big, representing there being a lot of processes we're insp
by ben0x539 6y ago
We're blocking in `limitCh <- struct{}{}` if we're trying to spawn more goroutines (because `pss` is big, representing there being a lot of processes we're inspecting, not many go processes) than there is room in `limitCh` (used as a semaphore). The newly spawned goroutines never allow the main goroutine to proceed because they never terminate, and they can't terminate because no one is reading from `found` yet, so they're blocking on `found <- P`.