![]() |
![]() |
![]() |
Anjuta Developers Reference Manual | ![]() |
---|---|---|---|---|
#include <libanjuta/anjuta-children.h> 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.