[Devel] [RFC][PATCH] Add child reaper to struct pspace
Sukadev Bhattiprolu
sukadev at us.ibm.com
Thu Sep 7 12:33:41 PDT 2006
Cedric Le Goater [clg at fr.ibm.com] wrote:
|
| <snip>
|
| > */
| > static void
| > forget_original_parent(struct task_struct *father, struct list_head *to_release)
| > @@ -669,7 +670,7 @@ forget_original_parent(struct task_struc
| > do {
| > reaper = next_thread(reaper);
| > if (reaper == father) {
| > - reaper = child_reaper;
| > + reaper = father->pspace->child_reaper;
| > break;
| > }
| > } while (reaper->exit_state);
| > @@ -857,7 +858,7 @@ fastcall NORET_TYPE void do_exit(long co
|
| what about killing all the task in that pid space if child_reaper == init
| dies ?
|
We probably need that for instance when a process in the parent pspace
kills the init of a child pspace, we should destroy the child pspace
by killing all the tasks in the child pspace including the child reaper.
I guess we need to maintain a list of task_structs in the pspace and walk
that list. Will work on that as a separate patch.
|
| > panic("Aiee, killing interrupt handler!");
| > if (unlikely(!tsk->pid))
| > panic("Attempted to kill the idle task!");
| > - if (unlikely(tsk == child_reaper))
| > + if (unlikely(tsk == tsk->pspace->child_reaper))
| > panic("Attempted to kill init!");
| >
| > if (unlikely(current->ptrace & PT_TRACE_EXIT)) {
|
| _______________________________________________
| Containers mailing list
| Containers at lists.osdl.org
| https://lists.osdl.org/mailman/listinfo/containers
_______________________________________________
Containers mailing list
Containers at lists.osdl.org
https://lists.osdl.org/mailman/listinfo/containers
More information about the Devel
mailing list