Function
GLibchild_watch_add_full
since: 2.4
Declaration [src]
guint
g_child_watch_add_full (
gint priority,
GPid pid,
GChildWatchFunc function,
gpointer data,
GDestroyNotify notify
)
Description [src]
Sets a function to be called when the child indicated by pid
exits, at the priority priority.
If you obtain pid from g_spawn_async() or
g_spawn_async_with_pipes() you will need to pass
G_SPAWN_DO_NOT_REAP_CHILD as flag to the spawn function for the child
watching to work.
In many programs, you will want to call g_spawn_check_wait_status()
in the callback to determine whether or not the child exited successfully.
Also, note that on platforms where GPid must be explicitly closed
(see g_spawn_close_pid()) pid must not be closed while the source
is still active. Typically, you should invoke g_spawn_close_pid()
in the callback function for the source.
GLib supports only a single callback per process id.
On POSIX platforms, the same restrictions mentioned for
g_child_watch_source_new() apply to this function.
This internally creates a main loop source using
g_child_watch_source_new() and attaches it to the main loop context
using g_source_attach(). You can do these steps manually if you
need greater control.
Available since: 2.4
This function is renamed to g_child_watch_add() in language bindings.
Parameters
priority-
Type:
gintThe priority of the idle source. Typically this will be in the range between
G_PRIORITY_DEFAULT_IDLEandG_PRIORITY_HIGH_IDLE. pid-
Type:
GPidProcess to watch. On POSIX the positive pid of a child process. On Windows a handle for a process (which doesn’t have to be a child).
function-
Type:
GChildWatchFuncFunction to call.
data-
Type:
gpointerData to pass to
function.The argument can be NULL.The data is owned by the caller of the function. notify-
Type:
GDestroyNotifyFunction to call when the idle is removed, or
NULL.The argument can be NULL.