[CRIU] [PATCH v2] seize: do not try to detach killed tasks

Andrew Vagin avagin at virtuozzo.com
Wed Dec 16 13:16:50 PST 2015


On Tue, Dec 15, 2015 at 03:15:02PM +0300, Dmitry Safonov wrote:
> unseize_task_and_threads sends SIGKILL in unseize_task under condition
> (st == TASK_DEAD). Which obviously kills task.
> 
> Move freezer_detach after pstree_wait to detach only from alive tasks
> to get rid of the following errors:
> 	(00.242163) Error (seize.c:223): Unable to detach from 23064
> 	: No such process
> 	(00.242177) Error (seize.c:223): Unable to detach from 23065
> 	: No such process
>

Acked-by: Andrew Vagin <avagin at virtuozzo.com>
 
> Signed-off-by: Dmitry Safonov <dsafonov at odin.com>
> ---
>  seize.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/seize.c b/seize.c
> index c0f8d7b..2c8e4ad 100644
> --- a/seize.c
> +++ b/seize.c
> @@ -447,10 +447,10 @@ void pstree_switch_state(struct pstree_item *root_item, int st)
>  	for_each_pstree_item(item)
>  		unseize_task_and_threads(item, st);
>  
> -	freezer_detach();
> -
>  	if (st == TASK_DEAD)
>  		pstree_wait(root_item);
> +
> +	freezer_detach();
>  }
>  
>  static pid_t item_ppid(const struct pstree_item *item)
> -- 
> 2.6.3
> 


More information about the CRIU mailing list