mirror of
https://github.com/checkpoint-restore/criu
synced 2025-09-01 14:55:39 +00:00
pstree: Use task_alive() instead of switch()-es
Signed-off-by: Pavel Emelyanov <xemul@parallels.com>
This commit is contained in:
23
cr-restore.c
23
cr-restore.c
@@ -895,21 +895,15 @@ static int restore_one_task(int pid, CoreEntry *core)
|
|||||||
|
|
||||||
/* No more fork()-s => no more per-pid logs */
|
/* No more fork()-s => no more per-pid logs */
|
||||||
|
|
||||||
switch (current->state) {
|
if (task_alive(current))
|
||||||
case TASK_ALIVE:
|
|
||||||
case TASK_STOPPED:
|
|
||||||
ret = restore_one_alive_task(pid, core);
|
ret = restore_one_alive_task(pid, core);
|
||||||
break;
|
else if (current->state == TASK_DEAD)
|
||||||
case TASK_DEAD:
|
|
||||||
ret = restore_one_zombie(pid, core);
|
ret = restore_one_zombie(pid, core);
|
||||||
break;
|
else if (current->state == TASK_HELPER)
|
||||||
case TASK_HELPER:
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
break;
|
else {
|
||||||
default:
|
|
||||||
pr_err("Unknown state in code %d\n", (int)core->tc->task_state);
|
pr_err("Unknown state in code %d\n", (int)core->tc->task_state);
|
||||||
ret = -1;
|
ret = -1;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (core)
|
if (core)
|
||||||
@@ -951,14 +945,9 @@ static inline int fork_with_pid(struct pstree_item *item)
|
|||||||
item->state = ca.core->tc->task_state;
|
item->state = ca.core->tc->task_state;
|
||||||
item->rst->cg_set = ca.core->tc->cg_set;
|
item->rst->cg_set = ca.core->tc->cg_set;
|
||||||
|
|
||||||
switch (item->state) {
|
if (item->state == TASK_DEAD)
|
||||||
case TASK_ALIVE:
|
|
||||||
case TASK_STOPPED:
|
|
||||||
break;
|
|
||||||
case TASK_DEAD:
|
|
||||||
item->parent->rst->nr_zombies++;
|
item->parent->rst->nr_zombies++;
|
||||||
break;
|
else if (!task_alive(item)) {
|
||||||
default:
|
|
||||||
pr_err("Unknown task state %d\n", item->state);
|
pr_err("Unknown task state %d\n", item->state);
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user