mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-08-02 07:23:41 +02:00
GSubprocess: New class for spawning child processes
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> https://bugzilla.gnome.org/show_bug.cgi?id=672102
This commit is contained in:
committed by
Ryan Lortie
parent
e30bbca667
commit
5b48dc40cc
@@ -137,6 +137,7 @@ typedef struct _GIOStream GIOStream;
|
||||
typedef struct _GPollableInputStream GPollableInputStream; /* Dummy typedef */
|
||||
typedef struct _GPollableOutputStream GPollableOutputStream; /* Dummy typedef */
|
||||
typedef struct _GResolver GResolver;
|
||||
|
||||
/**
|
||||
* GResource:
|
||||
*
|
||||
@@ -513,6 +514,23 @@ typedef GType (*GDBusProxyTypeFunc) (GDBusObjectManagerClient *manager,
|
||||
|
||||
typedef struct _GTestDBus GTestDBus;
|
||||
|
||||
/**
|
||||
* GSubprocess:
|
||||
*
|
||||
* A child process.
|
||||
*
|
||||
* Since: 2.36
|
||||
*/
|
||||
typedef struct _GSubprocess GSubprocess;
|
||||
/**
|
||||
* GSubprocessLauncher:
|
||||
*
|
||||
* Options for launching a child process.
|
||||
*
|
||||
* Since: 2.36
|
||||
*/
|
||||
typedef struct _GSubprocessLauncher GSubprocessLauncher;
|
||||
|
||||
G_END_DECLS
|
||||
|
||||
#endif /* __GIO_TYPES_H__ */
|
||||
|
Reference in New Issue
Block a user