• Colin Walters's avatar
    GSubprocess: New class for spawning child processes · 5b48dc40
    Colin Walters authored
    There are a number of nice things this class brings:
    0) Has a race-free termination API on all platforms (on UNIX, calls to
       kill() and waitpid() are coordinated as not to cause problems).
    1) Operates in terms of G{Input,Output}Stream, not file descriptors
    2) Standard GIO-style async API for wait() with cancellation
    3) Makes some simple cases easy, like synchronously spawning a
       process with an argument list
    4) Makes hard cases possible, like asynchronously running a process
       with stdout/stderr merged, output directly to a file path
    Much rewriting and code review from Ryan Lortie <desrt@desrt.ca>
gsubprocess.h 8.93 KB