-
Notifications
You must be signed in to change notification settings - Fork 42
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
streamingProcess does not work with non-threaded runtime #40
Comments
I have a proposed solution in the nh2/sourceProcessWithStreams-nonthreaded-problem@3709139...fix The solution turns out to be a 3-line change, but I need some advice of backward compatibility in that package: I'm currently using So I'm not sure I can use that function. An alternative would be to use I'll create a tentative PR using |
In the non
-threaded
runtime, thewaitForProcess
(waitpid()
) call used instreamingProcess
blocks the entire Haskell process, thus making the program block forever if the child process needs to be fed input by Haskell in order to terminate.This is because
waitpid()
is not Fd-based and thus cannot use the non-blocking IO of the IO manager; see thewaitForProcess
docs here:Detail repro with explanation: https://github.com/nh2/sourceProcessWithStreams-nonthreaded-problem
I use the nonthreaded runtime a lot, and I also use
streamingProcess
and conduits on top of it, so I'd like those to work with each other.The text was updated successfully, but these errors were encountered: