fix: keep stdin unpaused after ora completes #2904
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summarize your changes:
As a side-effect of using
node:readline
, whenora
completes it maypause
stdin
. Once it is in this paused state, it is impossible to truly revert to the original "unpaused" state as callingresume
onstdin
has its own side-effect of keeping the node process alive as long asstdin
remains unpaused (which is different than the default, where stdin is both unpaused but will not keep the process alive).To get around this, I added a flag on
asyncOra
that will maintainstdin
's unpaused state across ora's completion, but only for cases where that behavior is desirable, like theelectron-forge start
which both reads fromstdin
and is meant to stay alive "forever".Fixes #2319.