#2233: Overhaul System.Process
-------------------------------+--------------------------------------------
Reporter: simonmar | Owner:
Type: proposal | Status: new
Priority: normal | Milestone: Not GHC
Component: libraries/process | Version: 6.8.2
Severity: normal | Resolution:
Keywords: | Difficulty: Unknown
Testcase: | Architecture: Unknown
Os: Unknown |
-------------------------------+--------------------------------------------
Comment (by simonmar):
Another round of changes has been posted for comment. Haddock docs in the
same location: [http://darcs.haskell.org/~simonmar/process/System-
Process.html], and the patch message is as follows:
{{{
* More System.Process overhaul
New functions:
callProcess :: FilePath -> [String] -> IO ()
callCommand :: String -> IO ()
spawnProcess :: FilePath -> [String] -> IO ProcessHandle
spawnCommand :: String -> IO ProcessHandle
Changes:
- system and rawSystem have been removed from System.Process again.
(they were only there temporarily after the last round of changes,
now callCommand and callProcess replace them respectively).
On Unix systems we now use SIGCHLD to detect process completion
instead of calling waitpid(). This has several advantages:
- much cheaper: no extra OS threads to do the waiting
- doesn't require -threaded to get non-blocking waitForProcess
- waitForProcess can be interrupted
- no zombie process left around (only relevant on Unix)
However, it relies on the new signal API (see separate proposal). And
these advantages aren't available on Windows (yet).
}}}
--
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2233#comment:3>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs