Skip to content
This repository was archived by the owner on Jul 22, 2024. It is now read-only.

Conversation

@aelsabbahy
Copy link

When a system is aggressively launching new processes in parallel, it seems the processes() method returns an incomplete set of results.

I was seeing the issue in goss, here: goss-org/goss#267

I was able to resolve the issue by changing the directory lookup logic from:

for {
    fis, err := d.Readdir(10)
    if err == io.EOF {
        break
    }
}

To just simply:

fis, err := d.Readdir(-1)

I assume the size of /proc shouldn't cause concern with the -1 full read.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants