Remove legacy sigchild compatibility layer #103
Merged
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 changeset removes the legacy sigchild compatibility layer. This means that legacy platforms that use PHP compiled with the legacy
--enable-sigchild
option may not reliably determine the child process' exit code in some cases. This should not affect most installations as this configure option is not used by default and most distributions (such as Debian and Ubuntu) are known to not use this by default. This option may be used on some installations that use Oracle OCI8, seephpinfo()
output to check if your installation might be affected.The sigchild compatibility layer has been a constant source of bugs and misunderstandings (#89, #88, #63, #60 and others) with no clear benefit as it should not affect most installations. On top of this, its implementation is poorly tested and contributes to the project's complexity to a significant degree. Furthermore, its implementation prevents some API cleanup as discussed in #72 to eventually give more control over file descriptors as originally discussed in #65, #51 and others.
As such, I would like to propose removing this option for now to see how relevant this option is. This is a BC break, but empirical evidence suggests this should not affect most consumers. I'm open to the idea of reintroducing this feature once we have a better understanding how this is used in the wild and how we could safely integrate this again.