Skip to content

Overhaul System.Process

Overhaul of System.Process

From the patch:

Tue Apr 22 15:02:16 PDT 2008  Simon Marlow <simonmarhaskell@gmail.com>
  * Overhall System.Process
     
   - fix #1780: pipes created by runInteractiveProcess are set
     close-on-exec by default
   
   - add a new, more general, form of process creation: createProcess
     Each of stdin, stdout and stderr may individually be taken
     from existing Handles or attached to new pipes.  Also it
     has a nicer API.
   
   - add readProcess from Don Stewart's newpopen package.  This
     function behaves like C's popen().
  
   - Move System.Cmd.{system,rawSystem} into System.Process.  Later
     we can depecate System.Cmd.
   
   - Don't use O_NONBLOCK for pipes, as it can confuse the process
     attached to the pipe (requires a fix to GHC.Handle in the base
     package).
  
   - move the tests from the GHC testsuite into the package itself,
     and add a couple more
  
   - bump the version to 2.0

Haddock for the new API is here: http://darcs.haskell.org/~simonmar/process/System-Process.html

Patch is attached. So far I've only modified the Unix parts of the code, the Windows parts still need to be updated.

Discussion period: 4 weeks (20 May)

Trac metadata
Trac field Value
Version 6.8.2
Type Bug
TypeOfFailure OtherFailure
Priority normal
Resolution Unresolved
Component libraries/process
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system Unknown
Architecture Unknown
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information