Skip to content

Conversation

@Roguelazer
Copy link

Right now, the spawning uses IO.popen and has a bunch of workarounds to support Ruby 1.8. This is pretty bad.

Ruby 1.8 has been EOL for more than 10 years. I don't think we need to support it any more.

This rewrites the process spawning to use Stripe's excellent subprocess gem. It also adds a startup timeout, because right now if the BrowserStackLocal binary hangs for some reason, the entire program is just stuck on a .readline call. It also calls .wait on the child process after dæmonization succeeds, because otherwise you end up with an un-reaped defunct process sitting around forever.

@Roguelazer Roguelazer requested a review from a team as a code owner February 16, 2024 20:52
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.

1 participant