ghci and ghc -threaded broken with pipes & forking
John Goerzen
jgoerzen at complete.org
Wed Dec 10 12:12:28 EST 2008
Brian B wrote:
> Hi Bulat,
>
> My contribution to the survey: I've used forkProcess to daemonize
> a ghc program inside the haskell fuse bindings:
> http://hackage.haskell.org/cgi-bin/hackage-scripts/package/HFuse
> http://code.haskell.org/hfuse/System/Fuse.hsc
>
> If removing the non-threaded RTS would break forkProcess entirely,
> these bindings would have to do something different. The issue: users
> of the FUSE C api will get daemonized using daemon(2); it'd be
> nice if GHC fuse programs could behave similarly.
I also use forkProcess extensively: in HSH, for instance, which is used
by hpodder, twidge, and a host of other tools. Removing the ability to
use forkProcess removes the ability to write a Unix shell in Haskell, or
to do anything shell-like, or anything even mildly advanced involving
piping, file descriptors, and the like. I would see it as a significant
regression.
The System.Process calls, last I checked (in 6.8.x) were both too buggy
to use for complex tasks, and too inadequate for some (though the
adequacy has been improving.)
-- John
More information about the Glasgow-haskell-users
mailing list