add_full


Description:

[ Version ( since = "2.4" ) ]
public uint add_full (int priority, Pid pid, owned ChildWatchFunc function)

Sets a function to be called when the child indicated by pid exits, at the priority priority.

If you obtain pid from spawn_async or spawn_async_with_pipes you will need to pass DO_NOT_REAP_CHILD as flag to the spawn function for the child watching to work.

In many programs, you will want to call check_exit_status in the callback to determine whether or not the child exited successfully.

Also, note that on platforms where Pid must be explicitly closed (see close_pid) pid must not be closed while the source is still active. Typically, you should invoke 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 ChildWatchSource apply to this function.

This internally creates a main loop source using ChildWatchSource and attaches it to the main loop context using attach. You can do these steps manually if you need greater control.

Parameters:

priority

the priority of the idle source. Typically this will be in the range between DEFAULT_IDLE and HIGH_IDLE.

pid

process 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

function to call

data

data to pass to function

notify

function to call when the idle is removed, or null

Returns:

the ID (greater than 0) of the event source.


Namespace: GLib.ChildWatch
Package: glib-2.0