![]() | ![]() | ![]() | Anjuta Developers Reference Manual | ![]() |
---|
Children management — Children management in Anjuta
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_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. |
<< Plugins | AnjutaLauncher >> |