[Devel] [RFC][PATCH] Add child reaper to struct pspace

Cedric Le Goater clg at fr.ibm.com
Thu Sep 7 05:33:10 PDT 2006


<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 ?


>  		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)) {




More information about the Containers mailing list