Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove legacy sigchild compatibility layer #103

Merged
merged 1 commit into from Feb 10, 2023

Conversation

clue
Copy link
Member

@clue clue commented Feb 8, 2023

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, see phpinfo() 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.

@clue clue added the BC break label Feb 8, 2023
@clue clue added this to the v0.7.0 milestone Feb 8, 2023
@SimonFrings SimonFrings merged commit 20c7f33 into reactphp:0.7.x Feb 10, 2023
@clue clue deleted the no-sigchild branch February 10, 2023 08:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants