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

Use PosixSpawnProcess instead of ForkExecProcess on platforms without fork #184

Closed
wants to merge 2 commits into from

Conversation

eregon
Copy link
Contributor

@eregon eregon commented Nov 14, 2022

With this the test suite passes on TruffleRuby, except for 4 tests.

I don't feel great about the lack of thread-safety with

Dir.chdir(@cwd || Dir.pwd) do
but it seems better than just failing.

I would much prefer #175, but this may be easier to integrate shorter-term, and doesn't need a new major version bump.

… fork

* Such as on TruffleRuby, JRuby, etc.
* ForkExecProcess does not work at all on these platforms anyway.
* PosixSpawnProcess is not thread-safe with regard to the current working
  directory (oracle/truffleruby#1525 (comment))
  but it's still better than failing with no fork.
* enkessler#172 is the proper solution longer-term.
@eregon
Copy link
Contributor Author

eregon commented Dec 1, 2023

Dear maintainers of childprocess, could you merge this?

@sds
Copy link
Collaborator

sds commented Dec 13, 2023

Sorry for the delay. Merged in #191.

@sds sds closed this Dec 13, 2023
@eregon
Copy link
Contributor Author

eregon commented Dec 13, 2023

Thank you!
Would you be able to make a release including this? 🙏

BTW I'm interested in helping to maintain childprocess.

@sds
Copy link
Collaborator

sds commented Dec 21, 2023

Would feel more comfortable if we had a working test suite using the efforts from your other PR, which is very close.

Otherwise happy to include the changes in #175 in the next release if we can get all that put together. Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants