feat: limited ProcFDUsage support on darwin #161
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This adds support for ProcFDUsage on darwin when the requested PID
matches that of the current process.
On MacOS, while you can get the open file descriptors for other
processes (via
proc_pidinfo
), I don't know of a clean way to get thecurrent rlimit data for another process.
However, for the current process, we can retrieve the rlimits via the
getrlimit
system call.I've used /dev/fd to count open files rather than
proc_pidinfo
because I think the code is a bit more straight forward than the
under-documented
proc_pidinfo
call.It's totally understandable if you would prefer to avoid this kind
of conditional behavior.