Skip to content

Undefine rlimit features when unsupported #6491

@headius

Description

@headius

In ruby/rubygems#4129 we were reminded of a recently fixed bug in our Process.getrlimit implementation (#6383) which has so far only been applied to master for 9.3. While it does correct the original issue and would also correct the Bundler and net-http-persistent issues, the actual fix would be to leave the rlimit-related methods and constants undefined (or marked as unimplemented) when their features cannot be provided in a given environment.

Doing this for Windows seems acceptable, since that matches how CRuby behaves: the related C functions and constants are not defined for Windows environments, so the Ruby methods and constants are unimplemented. Making this change for all platforms where we cannot support native libraries might be an overreach, however, since users on e.g. Linux may be more likely to blindly call these methods.

I will push a fix that disables this only for WIndows and we can discuss the ramifications of doing it for all non-native environments as well.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions