[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