|
Description
|
The fork() calls task_attach to attach a process to a task.
The task_attach() does the following:
/*
* Now that the linkage from process to task and project is
* complete, do the required callbacks for the task and project
* rctl sets.
*/
e.rcep_p.proj = tk->tk_proj;
e.rcep_t = RCENTITY_PROJECT;
(void) rctl_set_dup(NULL, NULL, p, &e, tk->tk_proj->kpj_rctls, NULL,
RCD_CALLBACK);
e.rcep_p.task = tk;
e.rcep_t = RCENTITY_TASK;
(void) rctl_set_dup(NULL, NULL, p, &e, tk->tk_rctls, NULL,
RCD_CALLBACK);
It calls all project and task set callbacks for the project. This is not actually needed.
Project callbacks are called when a project is created and no callbacks care about a new
process joining the project.
|