mirror of
https://github.com/checkpoint-restore/criu.git
synced 2026-07-18 00:58:31 +00:00
rst: Check for task->state to restore in one place
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This commit is contained in:
parent
1211ca01ef
commit
57965aabaa
1 changed files with 6 additions and 5 deletions
11
cr-restore.c
11
cr-restore.c
|
|
@ -862,7 +862,7 @@ static int restore_one_task(int pid, CoreEntry *core)
|
|||
|
||||
/* No more fork()-s => no more per-pid logs */
|
||||
|
||||
switch ((int)core->tc->task_state) {
|
||||
switch (current->state) {
|
||||
case TASK_ALIVE:
|
||||
case TASK_STOPPED:
|
||||
ret = restore_one_alive_task(pid, core);
|
||||
|
|
@ -870,13 +870,17 @@ static int restore_one_task(int pid, CoreEntry *core)
|
|||
case TASK_DEAD:
|
||||
ret = restore_one_zombie(pid, core);
|
||||
break;
|
||||
case TASK_HELPER:
|
||||
ret = 0;
|
||||
break;
|
||||
default:
|
||||
pr_err("Unknown state in code %d\n", (int)core->tc->task_state);
|
||||
ret = -1;
|
||||
break;
|
||||
}
|
||||
|
||||
core_entry__free_unpacked(core, NULL);
|
||||
if (core)
|
||||
core_entry__free_unpacked(core, NULL);
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
|
@ -1321,9 +1325,6 @@ static int restore_task_with_children(void *_arg)
|
|||
if (current->parent == NULL && fini_mnt_ns())
|
||||
exit (1);
|
||||
|
||||
if (current->state == TASK_HELPER)
|
||||
return 0;
|
||||
|
||||
return restore_one_task(current->pid.virt, ca->core);
|
||||
err:
|
||||
if (current->parent == NULL)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue