Skip to content

Improve Open3 on Windows#4964

Closed
headius wants to merge 3 commits intojruby-9.1from
improve_windows_open3
Closed

Improve Open3 on Windows#4964
headius wants to merge 3 commits intojruby-9.1from
improve_windows_open3

Conversation

@headius
Copy link
Member

@headius headius commented Jan 11, 2018

The Open3 library needs some love to be more functional on Windows.

We have never gotten back to implementing spawn properly on Windows, which is heavily used by Open3 for all its popen forms. To get around this, Windows will fall back on an older version of popen3 that only uses JVM processes. Unfortunately, that's the only method we patch, so others like open2e still try to use the broken spawn logic.

It should not be difficult to patch the other popen forms, since they're mostly just subsets of popen3.

@headius headius added this to the JRuby 9.1.16.0 milestone Jan 11, 2018
@headius
Copy link
Member Author

headius commented Jan 11, 2018

We may want to incorporate someone else's library into JRuby for Windows support, like https://github.com/enkessler/childprocess or https://github.com/djberg96/win32-process. Both use FFI to do processes "the right way" on Windows, and that would save us reimplementing things.

@headius
Copy link
Member Author

headius commented Jan 11, 2018

My mistake...childprocess just wraps ProcessBuilder as best it can, and win32-process only provides additional methods related to Windows.

@enebo enebo mentioned this pull request Jan 29, 2018
@enebo enebo modified the milestones: JRuby 9.1.16.0, JRuby 9.1.17.0 Feb 21, 2018
@headius headius mentioned this pull request Mar 27, 2018
15 tasks
@JasonLunn
Copy link
Contributor

Since this was added to the list of 9.2 Projects, is this still a blocker for the release of 9.1.17.0?

@enebo enebo modified the milestones: JRuby 9.1.17.0, JRuby 9.1.18.0 Apr 23, 2018
@enebo
Copy link
Member

enebo commented Apr 23, 2018

I moved this to .18 but I am unsure if it is resolved for .17?

@headius
Copy link
Member Author

headius commented Jun 15, 2021

This has largely been superseded by #6649 which greatly improved the functionality of open3 on Windows, combined with other fixes for subprocess launching on non-native-process environments (like Windows).

@headius headius closed this Jun 15, 2021
@headius headius added this to the Invalid or Duplicate milestone Jun 15, 2021
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.

3 participants