-
Notifications
You must be signed in to change notification settings - Fork 1
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
Don't block FRP network if writing to stdin blocks #11
Don't block FRP network if writing to stdin blocks #11
Conversation
b2b25bb
to
dcbdf25
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems reasonable, but we should move the headless host stuff elsewhere.
I am mildly certain that
|
Oh wait, IORef cannot block. Whoops. Needs |
@lspitzner The only reason we went with |
@lspitzner I think we should actually expose the |
true, I approve. |
Then again, just abstracting this a bit more makes the choice of channel a trivial configuration. Will go that route instead. |
This PR solves #9
The way this was done is adding a
TChan
to act as an unbounded buffer between the FRP network and thestdin
handle. There's also a test suite that checks for this property. I suggest running the test suite with:so that one can check both the output of the
cat
process, and the eventual messages that arise from a blocking process (for now, I have a broken pipe that arises from the way I'm handling the finally clause in the test suite).