Skip to content

Fix PTY.spawn using libfixposix#7393

Merged
headius merged 8 commits intojruby:masterfrom
byteit101:pty-spawn
Nov 17, 2022
Merged

Fix PTY.spawn using libfixposix#7393
headius merged 8 commits intojruby:masterfrom
byteit101:pty-spawn

Conversation

@byteit101
Copy link
Member

@byteit101 byteit101 commented Oct 2, 2022

Fixes #6552

This, combined with the new gems and ruby/io-console#35 should allow PTY.spawn to work on all *nix systems.

TO-DO list:

  • Come up with better names of all gems & the monorepo with the APIs (current location: https://github.com/byteit101/subspawn) New name: SubSpawn
  • Clean up mid & high level API's
  • Transition PTY.spawn to high-level API
  • Figure out how to build & bundle libfixposix (an older version is packaged, but not installed by default on most distros)
  • Implement envp in mid-level API
  • Implement signals in mid-level API
  • Document
  • Test thoroughly on multiple people's machines

This can also be used to fix older versions of JRuby as the fix is gemified

@byteit101 byteit101 added this to the JRuby 9.4.0.0 milestone Oct 2, 2022
@byteit101 byteit101 marked this pull request as ready for review November 15, 2022 19:18
@byteit101 byteit101 requested a review from headius November 15, 2022 19:18
@byteit101
Copy link
Member Author

I've been using the change in Ruby.java to test the end-to-end path as there aren't any pty.spawn tests here, but I'm not sure about leaving it or if it should be that method of configuration for now

Copy link
Member

@headius headius left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Talked through default gem setup and windows warning and I think the rest is fine and we can iterate if necessary.

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.

PTY.spawn does not set new controlling tty for child

2 participants