Repository navigation
Conversation
phpGH-19281 made posix_setrlimit() throw a ValueError for limits below -1, on the assumption that -1 (RLIM_INFINITY on Linux) is the only valid negative value. Solaris defines RLIM_INFINITY as (rlim_t)-3, so the function now rejects PHP's own POSIX_RLIMIT_INFINITY constant: ValueError: posix_setrlimit(): Argument #3 ($hard_limit) must be greater or equal to -1 On Solaris, also accept RLIM_INFINITY. Other platforms keep the existing check. This fixes ext/session/tests/session_write_failure_keeps_data.phpt in the nightly SOLARIS job. See https://docs.oracle.com/cd/E88353_01/html/E37841/setrlimit-2.html and https://github.com/illumos/illumos-gate/blob/master/usr/src/uts/common/sys/resource.h
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
GH-19281 made
posix_setrlimit()throw a ValueError for limits below -1, on the assumption that -1 (RLIM_INFINITY on Linux) is the only valid negative value. Solaris definesRLIM_INFINITYas (rlim_t)-3, so the function now rejects PHP's ownPOSIX_RLIMIT_INFINITYconstant. On Solaris, also accept RLIM_INFINITY. Other platforms keep theexisting check. The error message is kept the same (or maybe I should change the wording as well?)
This fixes ext/session/tests/session_write_failure_keeps_data.phpt in the nightly SOLARIS job.
Why it started failing recently? Because the test was added yesterday c2b02f24dff and it's using
posix_setrlimit()See https://docs.oracle.com/cd/E88353_01/html/E37841/setrlimit-2.html
and https://github.com/illumos/illumos-gate/blob/master/usr/src/uts/common/sys/resource.h