|  |  |  | Anjuta Developers Reference Manual |  | 
|---|---|---|---|---|
void (*AnjutaChildTerminatedCallback) (int exit_staus, gpointer user_data); void anjuta_children_register (pid_t pid, AnjutaChildTerminatedCallback ch_terminated, gpointer data); void anjuta_children_unregister (pid_t pid); void anjuta_children_foreach (GFunc cb, gpointer data); void anjuta_children_recover (void); void anjuta_children_finalize (void);
All child processes in anjuta are registred using API here. SIGCHLD should
never be used directly. Use anjuta_children_register() or
anjuta_children_unregister() to register or unregister a child process.
Notifications are sent if callback function is given in
anjuta_children_register(), which can be used in lieu of hooking SIGCHLD
signal.
plugin developers should not bother about anjuta_children_init() and
anjuta_children_finalize() functions. They are only for the shell
implementor.
void        (*AnjutaChildTerminatedCallback)
                                            (int exit_staus,
                                             gpointer user_data);
Callback function definition for child termination.
| exit_staus: | Exit status of the child. | 
| user_data: | User data | 
void        anjuta_children_register        (pid_t pid,
                                             AnjutaChildTerminatedCallback ch_terminated,
                                             gpointer data);
Registers a child process with the manager. ch_terminated will be called when the child terminates. DO NOT use SIGCHLD directly, otherwise whole children management will fail.
| pid: | Process ID of the child (usually the value retured by fork or similar system calls. | 
| ch_terminated: | Callback function which will be called when this child exits. The callback should be defined as the type AnjutaChildTerminatedCallback. | 
| data: | User data. | 
void anjuta_children_unregister (pid_t pid);
Unregisters the child process (It should have been registred before with
#anjuta_children_register() call). No child terminated callback will be
executed for this child.
| pid: | Process ID of the child. | 
void        anjuta_children_foreach         (GFunc cb,
                                             gpointer data);
Calls the given callback function with the data for each child registered, that have not yet been terminated.
| cb: | Callback function. | 
| data: | User data. | 
void anjuta_children_recover (void);
Recovers child management signaling.