![]() | ![]() | ![]() | VTE Reference Manual |
---|
VteReaper — A singleton object which catches SIGCHLD signals and converts them into GObject-style "child-exited" signals.
struct VteReaper; VteReaper* vte_reaper_get (void); int vte_reaper_add_child (GPid pid);
"child-exited" void user_function (VteReaper *vtereaper, gint arg1, gint arg2, gpointer user_data);
Because an application may need to be notified when child processes exit, and because there is only one SIGCHLD handler, the VteTerminal widget relies on a VteReaper to watch for SIGCHLD notifications and retrieve the exit status of child processes which have exited. When glib provides child_watch functionality, the VteReaper merely acts as a proxy for glib's own functionality.
VteReaper* vte_reaper_get (void);
Finds the address of the global VteReaper object, creating the object if necessary.
Returns : | the global VteReaper object, which should not be unreffed. |
int vte_reaper_add_child (GPid pid);
Ensures that child-exited signals will be emitted when pid exits. This is necessary for correct operation when running with glib versions >= 2.4.
pid : | the ID of a child process which will be monitored |
Returns : | the new source ID Since 0.11.11 |
void user_function (VteReaper *vtereaper, gint arg1, gint arg2, gpointer user_data);
Emitted when the VteReaper object detects that a child of the current process has exited.
vtereaper : | the object which received the signal. |
arg1 : | the process ID of the exited child. |
arg2 : | the status of the exited child, as returned by waitpid(). |
user_data : | user data set when the signal handler was connected. |
<< VteTerminalAccessible |