Changes to process(10)

Changes to process:
commit 4425b44c5ab31b47d9f13529d909b9bc7e0027c3
Author: Herbert Valerio Riedel <hvr@gnu.org>
Date:   Wed Nov 20 22:08:18 2013 +0100

    Minor Haddock markup fix

    Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>

commit 7710899de8fa259314cfeaef5452b2e2dcdfee8f
Author: Herbert Valerio Riedel <hvr@gnu.org>
Date:   Wed Nov 20 21:56:32 2013 +0100

    Add `/Since: 1.2.0.0/` annotations to recently added entities

    ...and update changelog

    Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>

commit 4c5d7dd34b3e50a96aeaf87477ef12ffaf4cef93
Author: Herbert Valerio Riedel <hvr@gnu.org>
Date:   Wed Nov 20 21:19:19 2013 +0100

    Drop redundant `{-# ForeignFunctionInterface #-}`

    ...which is implied by Haskell2010; moreover add missing
    `BangPatterns` to `other-extensions`.

    Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>

commit 0faf513f7e3667246d40767d25d0871b49d95851
Author: Duncan Coutts <duncan@well-typed.com>
Date:   Fri Nov 15 20:01:21 2013 +0000

    Document spawnProcess and spawnCommand (#2233)

    Authored-by: Duncan Coutts <duncan@well-typed.com>
    Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>

commit ebdb5ae477cf955b272ee2a5fea24768202bdb46
Author: Duncan Coutts <duncan@well-typed.com>
Date:   Fri Nov 15 15:07:34 2013 +0000

    Add TODO notes on what should be marked DEPRECATED later

    We don't want to do it immediately because some of the replacements have
    not been around for long. There's no hurry, can do it in a release or
    two.

    Authored-by: Duncan Coutts <duncan@well-typed.com>
    Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>

commit a2c3294223bf1f5a1887b4f1bb6e1534699f4eba
Author: Duncan Coutts <duncan@well-typed.com>
Date:   Fri Nov 15 15:06:28 2013 +0000

    Reorder code sections to be rather clearer

    And move the deprecated things (as per #2233) to the end, out of the way.

    Authored-by: Duncan Coutts <duncan@well-typed.com>
    Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>

commit d53196e313023ce92a5181074b7bb2ab7d35b5f3
Author: Duncan Coutts <duncan@well-typed.com>
Date:   Fri Nov 15 14:52:26 2013 +0000

    API cleanup with new functions and old "soft" deprecated

    Add callProcess, callCommand, spawnProcess, spawnCommand as per the
    design in #2233 (but not relying on any of the SIGCHLD stuff).

    Move the various pre-createProcess functions to a section at the bottom
    in the Haddock docs. Don't yet mark anything as deprecated. That can
    come later.

    Authored-by: Duncan Coutts <duncan@well-typed.com>
    Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>

commit 3d8f9bb7f84c1fbb5efa62dd46daae44110ddb18
Author: Duncan Coutts <duncan@well-typed.com>
Date:   Fri Nov 15 14:19:48 2013 +0000

    Rename runGenProcess_ and leave a deprecated stub

    At least Cabal was using runGenProcess_, and the previous patches
    addressing #2301 changed its type already. So this adds a deprecated
    stub with the original type and the real function gets to have a less
    odd name.

    Authored-by: Duncan Coutts <duncan@well-typed.com>
    Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>

commit 1b1f18b89d23094f4411be534c493a0da8aeadb9
Author: Duncan Coutts <duncan@well-typed.com>
Date:   Thu Nov 14 20:10:16 2013 +0000

    Add tests for the delegated control-C handling (#2301)

    Authored-by: Duncan Coutts <duncan@well-typed.com>
    Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>

commit a0467f3ee892f5843c1ba98bcb9630e1e5b4863b
Author: Duncan Coutts <duncan@well-typed.com>
Date:   Thu Nov 14 20:00:36 2013 +0000

    Implement delegated control-C handling on Unix (#2301)

    This is a generalisation of the SIGINT-ignoring that system and
    rawSystem do, to allow it to be used via the general createProcess.

    For the gory details of SIGINT handling, see
    http://www.cons.org/cracauer/sigint.html

    We implement the 'WCE' method described there.

    That important feature was only available to system and rawSystem
    (mirroring the C system() behaviour). These functions are very limited
    and indeed deprecated, so we need this feature in general. In particular
    projects like Cabal are suffering because they cannot do this properly
    (or need horrible workarounds copy and pasting much of System.Process
    and using System.Process.Internals).

    The feature is available now via a new delegate_ctlc flag in the
    CreateProcess options record. The use of signal handlers is still a
    little hairy, but probably better than before (for situations where
    there were multiple concurrent calls to system/rawSystem).

    One thing to note is that waitForProcess and getProcessExitCode can now
    throw the UserInterrupt exception.

    This is all documented in the haddock docs (both a short description and
    also the excruciating details).

    Authored-by: Duncan Coutts <duncan@well-typed.com>
    Signed-off-by: Herbert Valerio Riedel <hvr@gnu.org>